TommyLemon
2018-10-18 18:27:09 +08:00
Gson 也差不多:
```java
List<Person> people = gson.fromJson(jsonData, new TypeToken<List<Person>>(){}.getType());
```
FastJSON 很方便:
```java
List<Person> people = JSON.parseArray(jsonData, Person.class);
```
不支持 Class<Type>.class 就是因为 Java 为了兼容 1.4 及以下的 JVM,
实现时用的是 泛型擦除 方式,只能在运行前静态检查类型,
编译通过后 Type 就换成 Object 了,只能强转获取。
这个你看下 ArrayList 的源码就知道了,
里面是用 Object[] elementData 来存列表数据的,
get(int position) 内 return 的时候强转:
```java
public E get(int index) {
if (index >= size)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
return (E) elementData[index];
}
```