私は別のパッケージからAssetという2つのタイプがあるアプリを開発しています。私は、パッケージのパスを型の前に置くことができますが、実際にはどちらも長いので、メソッドのパラメータとして渡す必要があります。恐ろしく見えます。私が持っている 2クラスは次のとおりです。クラスに競合する名前がある場合、クラスではなくパッケージをインポートしますか?
really.long.path.to.this.one.package.Asset
と
Ridiculusly.long.path.to.this.otherPackage.Asset
両方のタイプをパラメータにしてreturntypesとして使用されているので、私はこのような状況で終わる:
import really.long.path.to.this.one.package.Asset;
private List<Ridiculusly.long.path.to.this.otherPackage.Asset> getSimilarAssets(Ridiculusly.long.path.to.this.otherPackage.Asset asset,String otherParam){...}
と、いくつかのノンモート型のAsset型がパラメータリストにある場合、メソッドはさらに悪化します。
どちらのタイプも私のコントロールから外れているため、他のものと交換する方法はありません。
通常の方法で両方のクラスをインポートできないことは知っていますが(これは別の場所で回答されています)、何らかの方法で子育てパッケージをインポートしてパスの一部だけを書くことができますか? Asset
のいずれかの親であるパッケージをインポートできたら、メソッド定義のパスをかなり小さくすることができます。上記の方法は、次にようになります。
private List<otherPackage.Asset>getSimilarAssets(otherPackage.Asset asset, String otherParam){...}
私は2クラスの親パッケージが異なるため、これがうまくいくと仮定し、私はに私のclass.any道にパッケージへの作業の参照を取得するように見えるカントこれを行う?
FQNの意味を明確にすることはできますか? –
完全修飾名(パッケージを含む)。 – Kayaman
ああ、ちょっとあなたがそれを意味すると思っていた、私が間違っていたことを望んでいた;) –