我很清楚,what is a class literal in java,我只是想知道语法中.class的原因是什么。这有什么歧义吗?我的意思是,不会使用Java替代语法

Class<String> c = String;


代替

Class<String> c = String.class;


工作?对我来说,class关键字看起来像样板。

最佳答案

当然,您可以使用该语法。但是使用.class后缀使编译器的工作更加容易。要知道代码在语法上是正确的,它要做的工作很少。

没有后缀,编译器将不得不更加努力地理解它们之间的区别:

String.getName() // a method inherited from java.lang.Class<T>


和这个:

String.valueOf(...) // a static method from java.lang.String




如果您认为不需要.class后缀,您是否还认为fL后缀没有用(分别用于floatlong文字)?

07-24 09:46
查看更多