-2

我有一个接受 aString和 anString<List>作为方法参数的 Java 方法。如何区分字符串不是列表的一部分?

方法:

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

称呼:

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

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

4

2 回答 2

5

调用的尝试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);
于 2017-01-09T11:32:14.080 回答
1

现在,你有一个方法签名

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

您使用类似于

void methodName(List<String> arg2)

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

所以不要像这样称呼它

instance.methodName(anInstanceOfList);

首先传递一个字符串值

instance.methodName(aStringValue, anInstanceOfList);
于 2017-01-09T11:43:58.070 回答