编程语言
首页 > 编程语言> > Java 8中非字符串(非int / long)对象的实习

Java 8中非字符串(非int / long)对象的实习

作者:互联网

我正在阅读Oracle:https://docs.oracle.com/javase/tutorial/java/annotations/basics.html的这份文档

并遇到了有关类型注释的这段代码

类实例创建表达式:

new @Interned MyObject();

这是否意味着Java8或更高版本允许/将允许非String / long / int对象的intern?

解决方法:

据我所知,尚无此类计划.这只是一个如何使用注释的示例.我猜它可以由第三方注释处理器(如project Lombok)实现,但我们不太可能在JDK中看到这样的功能(至少在不久的将来).诸如@Readonly之类的其他示例也仅是示例,不应将它们添加到JDK中.

请注意,在用户代码中使用String.intern()非常糟糕.现在,它并没有像JDK6那样大的灾难,但是仍然很糟糕.您可以使用ConcurrentHashMap.putIfAbsent(obj,obj)轻松实现自己的对象池.

标签:string-interning,java-8,java
来源: https://codeday.me/bug/20191028/1949789.html