栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java:强制转换为类型参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java:强制转换为类型参数

忘记您要使用它做什么。我们仅从语言角度看待这一点。

报关单

public <T extends Number> T getSomevalue (boolean tf) {

定义一个

T
以限制的新类型
Number
。这意味着,一个呼叫者只能绑定
Number
或任何亚型
Number
T
调用方法时。在该方法中,您不知道该类型可能是什么。

因此,你不能做

T number = new Double(1.0);

因为你不知道那

T
Double
。如果我将方法调用为

Float f = genOp.getSomevalue(true);

T
应该是
Float
。编译器不能保证类型安全,因此拒绝它(方法内的分配,如果允许的话,
ClassCastException
将在运行时抛出)。如果使用强制转换,则是告诉编译器您确定自己在做什么。它会警告您,但会信任您。

同样,声明

public <T> T getSomevalue(boolean tf)

定义一个

T
无界的新类型。这意味着您可以将任何类型绑定到
T
,这使问题更加严重。我现在可以做

String f = genOp.getSomevalue(true);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号