是由这个问题https://segmentfault.com/q/1010000005725685引出的一个问题。
// Calendar.java
import java.text.DateFormatSymbols;
import java.util.*;
public class Calendar {
public static void main(String[] args) {
GregorianCalendar d = new GregorianCalendar();
}
}
用javac -Xlint Calendar.java
编译时并没有报warning,是否有什么选项让编译器报warning。
大家讲道理2017-04-18 09:16:53
不會有警告的,你想太多了,因為你的Calendar
的命名空间(就是package
)肯定不是java.util
吧?
所以啊,編譯器識別衝突總得是根據“命名空間 + 類名”,所以除非你的把package
也写成java.util
。否則讓編譯器報錯/警告,我覺得有點強人所難!
天蓬老师2017-04-18 09:16:53
我上午才學java,被你們弄懵逼了。我覺得我沒想這麼複雜,就是簡單的把類別名稱和檔名寫錯了。目前這個狀態不報warning也正常,畢竟這個類別的命名空間和java calendar的命名空間是不一樣的。