具有泛型参数的主方法;为什么它有效?
2022-09-01 06:12:12
public static <T extends String> void main(T[] args) {
System.out.println("Hello World!");
}
我很好奇上面的代码片段是否会成功编译和运行,它确实如此!但是,我也想知道如果替换为;会发生什么; 没有实现,所以我没想到它会成功运行,但它仍然可以!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测试过它。
- 您还可以使用命令行传递参数,就像使用任何其他程序一样。