2

これらの両方の方法で書かれたコードを見たので、どちらが好ましいコーディング方法であるかに興味がありました。

import java.util.ArrayList;
import java.util.List;
 /**
 *Rest of code
 */
 List<Blah> blahs = new ArrayList();

また

import java.util.List;
 /**
 *Rest of code
 */
 List<Blah> blahs = new java.util.ArrayList();

それで、どちらが好まれますか、そしてその理由は何ですか?両方の方法の長所と短所は何ですか? ちょっと興味があるんだけど。

4

3 に答える 3

5

それで、どちらが好まれますか、そしてその理由は何ですか?

最初のものを優先する必要があります。コードの明瞭さは最も重要な関心事です。

両方の方法の長所と短所は何ですか?

とにかく、コンパイラは、すべてのクラスと型を完全修飾名に置き換えることにより、最初のアプローチを後者のアプローチに変換します。どちらのコードも同じバイト コードになります。そのため、これらのものについて気にする必要はありません。(コマンド実行でバイトコードを確認できますjavap)

完全修飾名を使用する唯一の理由は、インポートしたさまざまなパッケージで名前の競合を解決するためです。たとえば、 と の両方java.util.*をインポートする場合、クラスjava.sql.*の完全修飾名を使用する必要があります。Date

関連記事:

于 2013-08-31T19:30:52.073 に答える
3
  • 同じ単純名を持つ複数のクラスがある場合は、完全修飾名が優先されます。

  • 他のすべてのケースでは、完全修飾名をインポートし、単純なクラス名を使用することが、優先されて読みやすいアプローチになります

于 2013-08-31T19:30:39.703 に答える
1

後者はちょっとあいまいに見えるので、おそらく前者です。異なるパッケージにある複数のクラスを使用している場合は、後者 (クラスの前にパッケージ名を指定する) のみを使用してください。

于 2013-08-31T19:31:01.830 に答える