在阅读了c#的隐藏特性之后,我想知道Java的隐藏特性有哪些?
当前回答
字符串参数化类工厂。
Class.forName( className ).newInstance();
从部署jar文件中加载资源(属性文件,xml, xslt,图像等)。
this.getClass().getClassLoader().getResourceAsStream( ... ) ;
其他回答
使用静态导入,你可以做一些很酷的事情,比如:
List<String> myList = list("foo", "bar");
Set<String> mySet = set("foo", "bar");
Map<String, String> myMap = map(v("foo", "2"), v("bar", "3"));
finally块中的控制权转移会丢弃任何异常。下面的代码不会抛出RuntimeException——它丢失了。
public static void doSomething() {
try {
//Normally you would have code that doesn't explicitly appear
//to throw exceptions so it would be harder to see the problem.
throw new RuntimeException();
} finally {
return;
}
}
从http://jamesjava.blogspot.com/2006/03/dont-return-in-finally-clause.html
当我第一次注意到三元运算符等于一个简单的if-then-else语句时,我很惊讶:
minVal = (a < b) ? a : b;
在Java 1.6 Update 10及以后版本中发现的下一代Java插件有一些非常简洁的特性:
传递java_arguments参数,将参数传递给创建的JVM。这允许您控制给予applet的内存量。 为每个applet创建单独的类装入器,甚至单独的JVM。 指定要使用的JVM版本。 在只需要完整Java库功能的一个子集的情况下,安装部分Java内核。 更好的Vista支持。 支持(实验性)将applet拖出浏览器,并在导航离开时让它继续运行。
这里记录了许多其他事情:http://jdk6.dev.java.net/plugin2/
更多信息请访问:http://jdk6.dev.java.net/6u10ea.html
逗号和数组。字符串s[] = { “123”, “234”, };
推荐文章
- 在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”