私が取り組んでいる Java パッケージで呼び出されるインターフェースを定義したいのTag
ですが、衝突の問題があるため、そのような普通の名前を使用することをためらっています。(たとえば、特定の名前を持つクラスまたはインターフェースを 1 つだけインポートできます。同じ名前を共有するものが複数ある場合は、そのうちの 1 つに対してインポートを使用できますが、残りはパッケージ名全体で明示的に参照する必要があります。例: com.yoyodyne.games.outdoors.Tag)
また、より詳細な名前もありません (StackOverflow の投稿や他のオンライン Web サイトのタグのようなタグを表すはずです)。私が考えることができる最も近いものは、おそらく TaxonomyTag です。
これに対処するための戦略はありますか?私が考えることができる唯一の方法Collections
は、 public interface を含む静的クラス ( など)を定義するTag
ことです。たとえば、それを呼び出すと、Tag を Taxonomy.Tag としてTaxonomy
インポートTaxonomy
して参照できますが、それはあまり役に立ちません。 .
編集:この衝突の広く知られている例の 1 つは、 ca.odel.glazedlists.matchers.Matcherとjava.util.regex.Matcherです。これは、GlazedLists ライブラリで正規表現を使用しようとしている場合に面倒です。