首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型擦除后的类型安全?

类型擦除后的类型安全?
EN

Stack Overflow用户
提问于 2021-06-03 20:43:46
回答 1查看 48关注 0票数 0

我正在学习类型擦除。我知道在类型擦除之后,泛型类型要么变成object,要么变成上限。但是,如果泛型类型成为对象,类型安全性不会丢失吗?

例如,以下示例中的:-

代码语言:javascript
复制
List<String> a = new ArrayList<String>();
a.add(10) // I can't do this, but after type erasure the generic type becomes object so where is 
             the check for the type?

任何帮助我们都将不胜感激

EN

回答 1

Stack Overflow用户

发布于 2021-06-03 20:49:06

检查在编译时进行。如果编译程序示例,则会得到以下错误:

代码语言:javascript
复制
error: no suitable method found for add(int)
a.add(10); 
 ^
    method Collection.add(String) is not applicable
      (argument mismatch; int cannot be converted to String)
    method List.add(String) is not applicable
      (argument mismatch; int cannot be converted to String)

这表明List不允许您添加整数,因为它不是字符串并且不能转换为字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67821707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档