一篇文章带你搞定 Java 中的泛型的安全警告

在泛型应用中最好在声明类对象时指定好其内部的数据类型,如 Info<String> ,如果不指定类型,这样用户在使用这样的类时,就会出现不安全的警告信息。

class Info<T>{//此处可以是任意的标识符号,T 是 type 的简称
    private T var;//此变量的类型由外部决定
    public T getVar(){
        return var;//返回值的类型由外部指定
    }
    public void setVar(T var){
        this.var = var;//设置的类型由外部指定
    }
    public String toString(){
        //覆写Object类中的 toString() 方法
        return this.var.toString();
    }
}
public class Test{
    public static void main(String[] args) {
        Info i = new Info();//警告没有指定泛型类型
        i.setVar("Java");
        System.out.println("内容:" + i.getVar());//取得字符串
    }
}

此时程序在 使用类时没有指定其泛型类型,所以出现了警告信息,表示的信息是使用了不安全的操作,因为没有指定 var 属性的具体类型。

此时如果使用 Object 声明泛型类型

public class Test{
    public static void main(String[] args) {
        Info<Object> i = new Info<Object>();//警告没有指定泛型类型
        i.setVar("Java");
        System.out.println("内容:" + i.getVar());//取得字符串
    }
}

此时程序本身没有任何意义,因为就算不设置泛型也是 Object 但这样做的唯一好处是编译时警告信息消失了

不指定泛型的程序流程图:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南淮北安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值