1

次の実装のようなものに違いがあるかどうか疑問に思っています:

import java.util.Date;

public class SimpleDatePrinter {

    public void printDate() {
        System.out.println(new Date());
    }

}

... と ...

public class SimpleDatePrinter {

    public void printDate() {
        System.out.println(new java.util.Date());
    }

}

私が尋ねる理由は、C++includeステートメントからの私の理解は、インクルード ファイルの内容は基本的にコンパイル時にソース ファイルにコピーされるからです。Java のステートメントが同じように機能するかどうかはわかりimportませんが、機能する場合、上記の 2 番目の構造を使用するとメモリが節約される可能性があります (クラスimport全体をjava.util.DateSimpleDatePrinter

クラスをインポートせずにコードを書くと、読みやすさなどに悪影響を与えることに気づきました。また、上記の例では「心配するほどではない」ことも理解しています。パフォーマンスが重要な要素である場合、これについて興味があります。

4

2 に答える 2

5

インポートはコンパイル時に解決されます。あなたの例では、生成されたバイトコードは同じになります。また、実行時にクラス (Date) をロードする必要があります。したがって、パフォーマンスの観点からは違いはありません。

于 2013-07-18T15:34:28.890 に答える
5

いいえ、違いはありません。import ステートメントは、使用しているクラスの完全修飾名の使用を避けるために使用されます。ドキュメントには、パフォーマンスの向上については何も書かれていません

于 2013-07-18T15:31:45.000 に答える