2016-07-28 7 views
0

私は初心者の高校のJavaプログラマであり、次のいずれの方法がJavaでより効率的であるかについて内部的な葛藤があります。 Javaで単一のクラスをインポートする場合は、import java.util.Scanner;などのようにインポートする方が効率的です。java.util.Scanner scan = new java.util.Scanner(System.in);のように、そのインポートステートメントをスキャナの宣言の一部として使用する方が効率的です。Javaでインポートする方が効率的です。

私は最初のものがもっと一般的で、よりよく見えますが、1つのスキャナオブジェクトだけが必要な場合はどうなりますか?この質問が重複していればごめんなさい。私は、すでに存在しているかどうかを調べるために、この質問を検索で正しく語る方法を知らなかった。

+1

誰もが言ったように、この場合のパフォーマンスは同じです。しかし、一般的には、このようなことについてはパフォーマンスについてはあまり心配しないでください。大部分の時間は、読み込み可能/保守可能なコードが効率的なコードよりも優れています。この業界の全ポイントは、コンピュータを私たちのために働かせることです...あなたがコンピュータを少し問題なく保存するために遠くに行くなら、何かがおそらく後方にあるでしょう。 :) –

答えて

4

importステートメントは、インポートされたシンボルのコンパイル時の別名を作成します。つまり、フルネームを入力するためのショートカットに過ぎません。実行中のプログラムには影響しません。コンパイルされたコードはどちらの場合も同じです。

0

クラスをインポートするための追加費用はありません。そのため、コードを見ている人は誰でもプログラムで使用されているクラスを簡単に見られるヘッダーにすべてのインポートを配置するのが理にかなっています。後でscannerオブジェクトまたは複数のクラスをjava.utilから取得することを決定した場合は、import java.util.*も使用できます。

0

2つのうちのより読みやすいものを選んでください。パフォーマンスの違いはなく、最終的には両方とも同じバイトコードにコンパイルされます。

0

効率は、パッケージ/クラス/シンボルパスをタイプに書き出す必要がある頻度にあります。一度だけ使用することが確実な場合は、インポートを使用しないでください。

しかし、それが唯一の唯一のメリットです。読みやすさ、このコードファイルで使用されるクラスの見やすさ、参照の追加が必要になった場合の余分な型付けなど、importステートメントを避けることにはいくつかの欠点があります。ソースはどちらの方法でも同じJVMコードにコンパイルされるため、コンパイラはその中で完全に中立です。

関連する問題