1。钻石算子简介
在 jdk 7 中引入,以减少创建泛型类实例时的冗长内容。允许编译器从上下文推断泛型类型,无需重复类型参数。
2。 jdk 7 之前的声明示例
// classe genérica com dois tiposclass twogen { t ob1; v ob2; twogen(t o1, v o2) { ob1 = o1; ob2 = o2; }}// criação de uma instância antes do jdk 7twogen tgob = new twogen(42, "testing");
缺点:泛型类型在声明和实例创建时都需要重复。
。在 jdk 7 中使用菱形运算符
// criação de uma instância usando o operador losangotwogen tgob = new twogen(42, "testing");
运算符要求编译器根据变量声明 (twogen) 推断类型参数。
千帆大模型平台
面向企业开发者的一站式大模型开发及服务运行平台
0 查看详情
4。通用表格
创建泛型类实例的通用语法:
nome-classe nome-var = new nome-classe(lista-arg-cons);
示例:
twogen example = new twogen(3.14, true);
5。方法中的推理
类型推断也适用于采用泛型类作为参数的方法。
示例:
// Adicionado à classe TwoGenboolean isSame(TwoGen o) { return ob1 == o.ob1 && ob2 == o.ob2;}// Chamando o método usando o operador losangoif (tgOb.isSame(new TwoGen(42, "testing"))) { System.out.println("Same");}
新的 twogen(…) 参数的类型是自动推断的。
6。 losango 运营商的优势
减少冗长:对于具有许多类型参数的泛型类特别有用。
可读性:简化复杂的语句。
7。兼容性
菱形运算符在 jdk 7 之前的 java 版本中不起作用。
旧书和代码中的示例使用完整语法来保持与所有支持泛型的 java 编译器的兼容性。
8。良好做法
在支持 jdk 7 的项目中使用菱形运算符来优化并使代码更具可读性。
为了清晰起见,更喜欢学习示例或遗留项目中的完整语法。
以上就是使用 Diamond 运算符进行类型推断的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/365007.html
微信扫一扫
支付宝扫一扫