Chinaunix

标题: 求助泛型的问题,谢谢! [打印本页]

作者: 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
晚上什么也没干 就看这了 太爽了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2