Java - 方法参数,String 后跟 List

Java - method parameters, String followed by List

我有一个 Java 方法,它接受一个 String 和一个 String<List> 作为方法参数。如何区分字符串不属于列表?

方法:

void returnValues(String sensor, List<String> attributes)

致电:

nexaConnect.returnValues(Arrays.asList("19455746", "blobJson", "deviceMfg", "eventCode", "sensorClass", "sensorUUID", "timeStamp", "uID"));

我能看到的唯一可能的解决方法是删除第一个字符串并将值包含在列表中,然后获取列表的第一个值并以这种方式使用它。有没有办法将它们分开,使其不在列表中?

尝试调用 returnValues 与形式参数不匹配。假设这就是你要问的,那么就像这样。

nexaConnect.returnValues("TheFirst", Arrays.asList("19455746", "blobJson", 
    "deviceMfg", "eventCode", "sensorClass", 
    "sensorUUID", "timeStamp", "uID"));

保存对局部变量的引用,它看起来像,

String sensor = "TheFirst";
List<String> attributes = Arrays.asList("19455746", "blobJson", 
    "deviceMfg", "eventCode", "sensorClass", 
    "sensorUUID", "timeStamp", "uID");
nexaConnect.returnValues(sensor, attributes);

现在,你有一个方法签名

void methodName(String arg1, List<String> arg2)

您正在使用类似于

的签名呼叫
void methodName(List<String> arg2)

调用方法时需要匹配签名,因此传递的字符串第一个参数然后是列表。

所以不要像这样称呼它

instance.methodName(anInstanceOfList);

首先传递一个字符串值

instance.methodName(aStringValue, anInstanceOfList);