下面提到的是 JSON 字符串,resultString:
{
"imageMaps": [{
"crc": "c2c4",
"flags": "0",
"length": "117384",
"index": 1,
"version": "1.1.90ea",
"status": ""
}, {
"crc": "7601",
"flags": "8",
"length": "117592",
"index": 2,
"version": "1.1.90ed",
"status": ""
}],
"complete": true,
"nextBootImageVersion": "",
"lastKnownGoodImageVersion": "1.1.90ed",
"runningImageVersion": "1.1.90ed"
}
Run Code Online (Sandbox Code Playgroud)
我想将相同的转换为 A 类的对象:
public class A {
private boolean complete;
private String message;
private String lastKnownGoodImageVersion;
private String nextBootImageVersion;
private String runningImageVersion;
private Map<String, B> imageMaps;
private List<B> images;
private MacID macId;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码将 json 转换为 A 类的对象: …
我创建了一个通用方法toList():
public static <T> List<T> toList(T... args){
List<T> list = new ArrayList<T>();
for (T t : args) {
list.add(t);
}
if(list instanceof Comparable<?>){
System.out.println("The list was considered a list of Comparable objects");
}
if(list instanceof Serializable){
System.out.println("The list was considered a list of Serializable objects");
}
if(list instanceof Object){
System.out.println("The list was considered a list of Object class' objects");
}
return list;
}
Run Code Online (Sandbox Code Playgroud)
我称之为这样的方法:
public static void main(String[] args) {
System.out.println(Generics.<Comparable>toList(1,2,"3"));
}
Run Code Online (Sandbox Code Playgroud)
我期待,因为我提供了类型Comparable,第一个if条件将成立,o/p将是第一个Comparable,然后是Object.但令我惊讶的是,如果o/p是Serializable然后是Object,则控制权不会先进入.
任何人都可以对这背后的原因有所了解吗?另外,我不清楚在访问修饰符之后在方法签名中应用T的概念.
我们已经提到了访问说明符,修饰符和返回类型.供应T需要什么?