泛型T和Object的区别
Object范围非常广,而T从一开始就会限定这个类型(包括它可以限定类型为Object)。Object由于它是所有类的父类,所以会强制类型转换,而T从一开始在编码时(注意是在写代码时)就限定了某种具体类型,所以它不用强制类型转换。(之所以要强调在写代码时是因为泛型在虚拟机中会被JVM擦除掉它的具体类型信息,这点可参考泛型,在这里不做引申)。@Testpublic void test123() {.
·
- Object范围非常广,而T从一开始就会限定这个类型(包括它可以限定类型为Object)。
- Object由于它是所有类的父类,所以会强制类型转换,而T从一开始在编码时(注意是在写代码时)就限定了某种具体类型,所以它不用强制类型转换。(之所以要强调在写代码时是因为泛型在虚拟机中会被JVM擦除掉它的具体类型信息,这点可参考泛型,在这里不做引申)。
@Test public void test123() { System.out.println(object_to_json("hello")); System.out.println(object_to_json2("hello")); } @Test public void test2(){ String a1 =test22222("String"); String a2 =(String) test1111("String"); int a3 = test22222(123); int a4 =(int) test1111(123); } public static <T> T test22222(T t){ List<T> list_object2 = new ArrayList<T>(); list_object2.add(t); return t; } public static Object test1111(Object object){ List<Object> list_object = new ArrayList<Object>(); list_object.add("hello"); list_object.add(123); for(int i=0;i<list_object.size();i++){ String abc = (String) list_object.get(0); } return object; }
请注意加红部分,不引用泛型的话在取出链表的时候需要强转。
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


所有评论(0)