黑马程序员技术交流社区

标题: 学泛型时的一个疑惑? [打印本页]

作者: 孔斌    时间: 2013-1-30 11:20
标题: 学泛型时的一个疑惑?
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import javax.xml.crypto.Data;
public class GenericTest {

        public static void main(String[] args) {
                copy(new Data[10],new String[10]);//这个为什么没有报错呢
        }
       
        public static <T> void copy(T []dest,T []src){
        }

}
作者: 唐晓    时间: 2013-1-30 11:29
util的Date的父类是object,String的父类也是object,所以泛型<T>取的是object。
作者: 杨杨    时间: 2013-1-30 11:35
你希望他报什么错呢类型不批配吗,T跟object差不多
如果改成他你看看报不报错 public static <Data> void copy(Data []dest,T []src)
或者 public static <T> void copy(Data []dest,Data []src){
        }
作者: 谢毅    时间: 2013-1-30 15:12
当某个类型变量在整个参数列表中的所有参数和返回值中的多处被应用了,如果调用方法时这多处的实际应用类型对应到了不同的类型,且没有使用返回值,这时候取多个参数中的最大交集类型,例如,下面语句实际对应的类型就是Number了,编译没问题,只是运行时出问题:
                    fill(new Integer[3],3.5f)   
                    static <T> void fill(T[] a, T v)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2