lrlfriend 发表于 2015-03-21 22:12

求助泛型的问题,谢谢!

本帖最后由 lrlfriend 于 2015-03-21 22:55 编辑

下面这段代码可以 :
                                import java.util.ArrayList;
                                import org.junit.Test;
                               
                                public class TestDefineGenericMethod {
                                        public <T> T a(T t){
                                                System.out.println(t.getClass());
                                                return t ;
                                        }
                                       
                                        @Test
                                        public void testa(){
                                                System.out.println("ret = " + a(new ArrayList()).isEmpty()) ;
                                        }
                                       
                                }
下面就不行 :
                                class GenericClass <T> {
                                        public T a(T t){
                                                System.out.println(t.getClass());
                                                return t ;
                                        }
                                }

                                public class TestGenericClass{
                                        @Test
                                        public void testa(){
                                                GenericClass c = new GenericClass() ;
                                                System.out.println("ret = " + c.a(new ArrayList()).isEmpty());// 这句错误, 提示需要强制转换类型为ArrayList
                                        }
                                }
请问是为什么 ? 谢谢!



lrlfriend 发表于 2015-03-21 23:09

已解决.
在new对象时候需要限定类型.

athenaansan 发表于 2015-05-01 08:27

晚上什么也没干 就看这了 太爽了
页: [1]
查看完整版本: 求助泛型的问题,谢谢!