【发布时间】:2018-12-23 09:57:52
【问题描述】:
public static <T extends String> void main(T[] args) {
System.out.println("Hello World!");
}
我很想知道上面的 sn-p 代码是否会成功编译和运行,并且确实如此!但是,我也想知道如果T extends String 被替换为T extends String & AutoClosable 会发生什么; String 没有实现AutoClosable,所以没想到这个会运行成功,结果还是成功了!
public static <T extends String & AutoCloseable> void main(T[] args) {
System.out.println("This still works!");
}
所以我的问题是,为什么这仍然可以成功运行?
注意事项:
- 我正在使用 Java 10.0.1 对此进行测试
- Intellij 不能很好地使用此方法,因为它不将其视为程序的入口点;我没有用其他 IDE 测试过。
- 您还可以像使用任何其他程序一样使用命令行传递参数。
【问题讨论】:
标签: java generics main type-inference