A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孔斌 中级黑马   /  2013-1-30 11:20  /  1424 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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){
        }

}

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

4 个回复

倒序浏览
util的Date的父类是object,String的父类也是object,所以泛型<T>取的是object。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
你希望他报什么错呢类型不批配吗,T跟object差不多
如果改成他你看看报不报错 public static <Data> void copy(Data []dest,T []src)
或者 public static <T> void copy(Data []dest,Data []src){
        }

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
当某个类型变量在整个参数列表中的所有参数和返回值中的多处被应用了,如果调用方法时这多处的实际应用类型对应到了不同的类型,且没有使用返回值,这时候取多个参数中的最大交集类型,例如,下面语句实际对应的类型就是Number了,编译没问题,只是运行时出问题:
                    fill(new Integer[3],3.5f)   
                    static <T> void fill(T[] a, T v)

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马