Java字符串导入
我有一个疑问。 当我们在Java中使用ArrayList
或HashMap
时,我们必须导入java.util.ArrayList
或java.util.HashMap
。 但是当我们使用String
,它不需要import
语句。 任何人都可以澄清,为什么?
String
存在于java.lang
包中,默认情况下在所有java程序中导入。
java.lang
包中的所有内容都是隐式导入的(包括String),您自己也不需要这样做。 这只是Java语言的一个特性。 但是,ArrayList和HashMap位于java.util
包中,不会隐式导入。
java.lang包主要包括基本function,例如基元的类版本,基本exception和Object类。 这是大多数程序不可或缺的一部分,迫使人们导入它们是多余的,因此隐式导入了这个程序包的内容。
Java编译器默认导入3个包。 1. The package without name
2. The java.lang package(That's why you can declare String, Integer, System classes without import)
3. The current package (current file's package)
这就是为什么你不需要为java.lang
包声明import语句。