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>]

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐