首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在创建对象时是否需要向两个钻石操作符指定数据类型?

在创建对象时是否需要向两个钻石操作符指定数据类型?
EN

Stack Overflow用户
提问于 2020-06-30 10:54:14
回答 2查看 90关注 0票数 0

我正在创建Java(Android )中的ArrayAdapter对象(Android),它是否需要在菱形操作符内向两边添加字符串数据类型?有人能解释一下吗

代码语言:javascript
复制
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<"here">(this,android.R.layout.simple_list_item_1,numbersInChars);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-30 11:04:20

不,您不需要在右边指定它。但是,如果你指定它的话,它不会造成任何伤害。请在https://docs.oracle.com/javase/tutorial/java/generics/types.html阅读更多关于钻石的信息。下面是同一页中的一个示例:

代码语言:javascript
复制
Box<Integer> integerBox = new Box<>();

如您所见,Integer尚未在右侧指定。但是,如果您愿意,也可以按以下方式编写:

代码语言:javascript
复制
Box<Integer> integerBox = new Box<Integer>();
票数 1
EN

Stack Overflow用户

发布于 2020-06-30 11:09:33

java 泛型教程包含以下关于回答问题的菱形操作符的说明:

在Java 7和更高版本中,只要编译器能够从上下文中确定或推断类型参数,就可以用空类型参数集(<>)替换调用泛型类构造函数所需的类型参数。

编译器可以确定String类型参数来调用构造函数,因为您在赋值ArrayAdapter<String> arrayAdapter = ...的左边指定了构造函数,因此不需要指定它。

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

https://stackoverflow.com/questions/62655831

复制
相关文章

相似问题

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