Java - 方法参数,字符串后跟List

时间:2017-01-09 11:30:38

标签: java list arraylist parameter-passing method-parameters

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

方法:

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

呼叫:

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

我能看到的唯一可能的工作是删除第一个String并在List中包含值,然后获取列表的第一个值并以这种方式使用它。有没有办法将它们分开,以便它不属于列表?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

目前,您有一个方法签名

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

您使用类似于

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

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

所以不要把它称为

instance.methodName(anInstanceOfList);

首先传递一个String值

instance.methodName(aStringValue, anInstanceOfList);