10

これら 2 つのクラスをインポートしたいと考えています。どちらも名前が付けられていますQuery。1 つはJDOクラス、もう 1 つはJPAクラスで、同じクラスの異なるメソッドで使用します。

import javax.jdo.Query;
import javax.persistence.Query;

ファイルの先頭に両方を同時にグローバルにインポートする方法はありますか?

4

3 に答える 3

18

申し訳ありませんが、いいえ。ただし、それを使用するためにクラスをインポートする必要はありません。クラスの 1 つをフルネームで参照するだけです。

javax.jdo.Query query = getJDOQuery();
query.doSomething();

その後、名前の衝突なしで別のものをインポートできます。

ところで、クラスでそのような名前のような衝突がたくさん発生し始めた場合、それはリファクタリングの微妙なヒントです。つまり、1 つの大きなクラスの機能をいくつかの小さなクラスに分割します。

于 2010-09-16T21:57:22.057 に答える
2

ステートメントの唯一の目的はimport、完全修飾名の簡略別名を確立することです。両方のインポートを許可すると、解決するために型の推論が必要なあいまいさが生じ、コードが非常に読みにくくなります。

于 2010-09-16T22:57:01.083 に答える