chooser.setCurrentDirectory(new java.io.File("."));
import java.io.File;
...
chooser.setCurrentDirectory(new File("."));
你应该关注的主要事情是可读性。我觉得第二个更有可读性。
在极少数情况下,我更喜欢第二种方法。让我们考虑以下场景:出于某种原因,我编写了一个类,并将其命名为file
。我输入了file file=new file(...)
,我的IDE为我自动导入了java.io.file
。但是我不想要那种对象,我想要我的文件
类。因此,与其导入正确的类,我更喜欢内联导入,这样其他用户就不会与Java的file
类混淆了。
关于表演,它们是完全一样的,这是证据-
public class java8.tests.General {
public java8.tests.General();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: new #2 // class javax/swing/JFileChooser
3: dup
4: invokespecial #3 // Method javax/swing/JFileChooser."<init>":()V
7: astore_1
8: aload_1
9: new #4 // class java/io/File
12: dup
13: ldc #5 // String .
15: invokespecial #6 // Method java/io/File."<init>":(Ljava/lang/String;)V
18: invokevirtual #7 // Method javax/swing/JFileChooser.setCurrentDirectory:(Ljava/io/File;)V
21: return
}
public class java8.tests.General {
public java8.tests.General();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: new #2 // class javax/swing/JFileChooser
3: dup
4: invokespecial #3 // Method javax/swing/JFileChooser."<init>":()V
7: astore_1
8: aload_1
9: new #4 // class java/io/File
12: dup
13: ldc #5 // String .
15: invokespecial #6 // Method java/io/File."<init>":(Ljava/lang/String;)V
18: invokevirtual #7 // Method javax/swing/JFileChooser.setCurrentDirectory:(Ljava/io/File;)V
21: return
}
案例1。类扩展了java。util。阵列列表{ { } } 这里我得到一个compiletime错误,表示找不到符号 案例2。类扩展了java。util。阵列列表 { } 这个正在成功编译。 那么扩展ArrayList类有什么必要呢?如果我们不能利用它(如案例1)
我正在测试上面的代码。两者给我的结果是一样的。我正试图理解第1、2和6行之间的区别。我可以通过这两种方法获得相同的结果。
编辑: 编辑:实际上我使用的是Java7(我认为Java8正在运行),但它不是
所以我试着在我的Mac上的终端上运行这个。我的文件路径是/users/admin/documents/java/java24/com/java24hours 我尝试在java24hours目录“java saluton.java”中运行,并返回一个“error:Could not find或load main class saluton.java” 据我所知,这与包裹有关。我研究了包名,但不明白完
问题内容: 在SQL Server中使用完全限定的表名是否会对性能产生影响? 我有一个查询,在这里我要连接不同数据库中的两个表。DBA建议在主机查询中省略数据库名称,我猜这是出于性能或惯例的考虑。 所有表完全合格 首选? 这实际上有区别吗? 问题答案: 通常最好使用完全限定的名称,但要考虑一些注意事项。我会说这在很大程度上取决于要求,并且一个答案可能无法满足所有情况。 请注意,这只是一个编译绑定,
如何有效地获得简短的完全限定类名。例如,如果我们通过了“com.test.student”,我们需要得到“c.t.student”。