JAVA泛型2

package collection;

/**
 * 泛型是编译器认可,而非虚拟机
 * 编译器会将泛型改为Object,所以泛型的实际类型就是
 * Object
 * 在使用泛型是,编译器回辅助做两个操作
 * 1:对泛型设置值时,编译器回检查该值的类型
 *    是否玉泛型一直,不一致则编译不通过
 * 2:在获取泛型值时,编译器回添加向下造型的代码
 */
public class TypeDemo2 {
    public static void main(String[] args){
       Location <Integer> loc1 = new Location<Integer>(1,2);
       /*
        编译器回检查实际赋值是覅u符合泛型类型
        要求,不符合编译不通过
        */
       loc1.setX(1);
       //loc1.setX("1"); // 编译不通过
        /*
        编译器回在编译时不全向下造型的代码为
        int x1 = (Integer)loc1.getX();
         */

        int x1 = loc1.getX();

        /*
        泛型可以不指定,不指定则按照默认的
        Object看待
         */
        Location loc2 = loc1;
        System.out.println("loc2"+loc2);
        loc2.setX("三");
        System.out.println("loc2"+loc2);

        //再次以loc1角度获取x
        x1 = loc1.getX();//类造型异常
        System.out.println("x1"+x1);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值