Java 导入包
Java Import Package
我的问题是关于这段代码的:
import java.util.*;
我被告知此代码将导入所有 Java 包,但我的问题是:
它会消耗更多内存吗?因为在我正在做的程序中我只是使用:
import java.util.Scanner;
和
import java.util.InputMismatchException;
感谢您的帮助。
不,惰性导入对生成的程序没有影响。看到这个问题:Java import vs code performance
使用惰性导入与显式导入更多的是可读性问题。 (此外,如果您引用存在于两个包中的 class 名称,则需要显式导入来解决歧义。)
I was told that this code will import all Java packages
不,当我们在代码中只使用像 List
这样的简单名称而不是全名 java.util.List
(编译器需要将每个简单名称更改为其全名)。
通常最好避免使用 *
,因为当很少有包具有相同名称的 类 时,它会导致问题。例如,让我们添加这个导入
import java.util.*;
import java.awt.*;
并使用List
。编译器将不知道我们在这里指的是 List
(java.awt.List 或 java.util.List),并且会 return 错误。我们可以通过添加
来描述我们想要使用的列表的精确位置来解决它
import java.util.*;
import java.awt.*;
import java.util.List;// <-- solves List problem
但为了避免此类问题,我们应该首先尝试避免 *
,尤其是因为我们的 IDE 可以为我们生成导入。
我的问题是关于这段代码的:
import java.util.*;
我被告知此代码将导入所有 Java 包,但我的问题是: 它会消耗更多内存吗?因为在我正在做的程序中我只是使用:
import java.util.Scanner;
和
import java.util.InputMismatchException;
感谢您的帮助。
不,惰性导入对生成的程序没有影响。看到这个问题:Java import vs code performance
使用惰性导入与显式导入更多的是可读性问题。 (此外,如果您引用存在于两个包中的 class 名称,则需要显式导入来解决歧义。)
I was told that this code will import all Java packages
不,当我们在代码中只使用像 List
这样的简单名称而不是全名 java.util.List
(编译器需要将每个简单名称更改为其全名)。
通常最好避免使用 *
,因为当很少有包具有相同名称的 类 时,它会导致问题。例如,让我们添加这个导入
import java.util.*;
import java.awt.*;
并使用List
。编译器将不知道我们在这里指的是 List
(java.awt.List 或 java.util.List),并且会 return 错误。我们可以通过添加
import java.util.*;
import java.awt.*;
import java.util.List;// <-- solves List problem
但为了避免此类问题,我们应该首先尝试避免 *
,尤其是因为我们的 IDE 可以为我们生成导入。