在阅读了c#的隐藏特性之后,我想知道Java的隐藏特性有哪些?
当前回答
java.util.Arrays中的asList方法允许变量参数、泛型方法和自动装箱的良好组合:
List<Integer> ints = Arrays.asList(1,2,3);
其他回答
我个人很晚才发现java.lang.Void——结合泛型提高了代码的可读性,例如Callable<Void>
函子很酷。它们非常接近于函数指针,而这在Java中是不可能的。
Java中的函子
我真的很喜欢从Java 1.6重写的线程API。可调用对象很棒。它们基本上是带有返回值的线程。
几年前,当我必须做Java (1.4.x)时,我想要一个eval()方法,而太阳javac是(是?)用Java编写的,所以它只是链接tools.jar,并使用它周围的一些胶水代码。
静态导入可以“增强”语言,这样你就可以以类型安全的方式做一些漂亮的文字工作:
List<String> ls = List("a", "b", "c");
(也可以做映射,数组,集)。
http://gleichmann.wordpress.com/2008/01/13/building-your-own-literals-in-java-lists-and-arrays/
更进一步说:
List<Map<String, String>> data = List(Map( o("name", "michael"), o("sex", "male")));
推荐文章
- 在Selenium中等待页面加载
- Maven父pom vs模块pom
- 将JSON数据转换为Java对象
- Java的隐藏特性
- 使用Java 8的可选Stream::flatMap
- 使用管道字符("|")分割字符串
- 在IntelliJ中找不到Maven插件
- Java List.add() UnsupportedOperationException
- 连接两个字节数组的简单方法
- 为什么Mockito不模拟静态方法?
- Volatile boolean vs AtomicBoolean
- 在一个类中使用相同的方法实现两个接口。覆盖了哪个接口方法?
- 线程的上下文类装入器和普通类装入器之间的区别
- 如何在Java中正确地比较两个整数?
- 在Java中获取“unixtime”