Car*_*arl 1 java generics types
我的函数原型:
private String buildParamaters(Object[][] arguments)
Run Code Online (Sandbox Code Playgroud)
此方法构建一个URL.
参数的示例值可能是:
List<String> items = ...
new Object[][] {{"key1", 25},
{"key2", "a string"},
{"key3", items}}
Run Code Online (Sandbox Code Playgroud)
因此,第一个维度始终是String,但第二个维度可以是一系列类型.
而不是Object [] []如何定义这个参数,以便第一个维度是一个字符串?和红利问题:是否有任何实际的替代方案将第二维定义为泛型类型?
用自定义对象数组替换数组数组,如下所示:
public class KeyedItem {
private final String key;
private final Object value;
public KeyedItem(String key, Object value) {
this.key = key;
this.value = value;
}
}
...
private String buildParamaters(KeyedItem[] arguments) {
...
}
...
KeyedItem[] arguments = new KeyedItem[] {
new KeyedItem("key1", 25)
, new KeyedItem("key2", "a string")
, new KeyedItem("key3", items)
};
Run Code Online (Sandbox Code Playgroud)