guava是 Google 提供的java类库 https://github.com/google/guava,提供了大量实用的程序,来看下Lists,如何创建ArrayList
@GwtCompatible(serializable = true)
public static <E> ArrayList<E> newArrayList() {
return new ArrayList();
}
我们只需要直接使用
Lists.newArrayList()
即可创建一个ArrayList对象
其中注解@GwtCompatible有两个属性
@Retention(RetentionPolicy.CLASS)
@Target({ ElementType.TYPE, ElementType.METHOD })
@Documented
@GwtCompatible
public @interface GwtCompatible {//与GWT兼容
boolean serializable() default false;// 是否支持序列号,如果为true
boolean emulated() default false;//模拟,Google对GWT的坚持
}
通过定义的对象来决定newArrayList返回的泛型
如:
List<User> s=Lists.newArrayList();
for(int i=0;i<3;i++)
{
User user=new User();
user.setAge(i).setName("user"+i);
s.add(user);
}
for (User user : s) {
System.out.println(ToStringBuilder.reflectionToString(user));//ToStringBuilder为common-lang 包工具,通过反射实现获取obj的toString,可参照本人另外一篇博客,讲关于CompareToBuilder ,都是通过反射原理
}
即可获取泛型为User的List对象
结果为:
com.ecit.lyy.User@5e481248[name=user0,age=0,gender=<null>,parentMoney=<null>]
com.ecit.lyy.User@355da254[name=user1,age=1,gender=<null>,parentMoney=<null>]
com.ecit.lyy.User@4dc63996[name=user2,age=2,gender=<null>,parentMoney=<null>]