0

CTRL + SHIFT + G を使用して見つけた次のコードを使用します。これは、最後に記述する必要がある正しいコードです。

String Name =   ((Entitys) (typeAnno.getTel())).getName();

私はこのコードを見つけられなかったと仮定し、私の出発点は typeAnno.getTel() であり、そこから上記のコードを書く必要があります.Eclipseがそれを助ける方法はありますか?

それを処理する方法についてのベストプラクティスが必要です(このコードでは一般的な解決策が必要ではありません)。

namespace = ((Sch) ((Entitys) typeAnno.getTel()).eCont()).getName();

問題は、他のクラスでコードが見つからない場合、開始方法がわからないことです。キャストオプションが可能かどうかとオプション。

ここのコードは特定のコードですが、一般的な私の質問は、キャストオプションを見つける必要があると仮定して、どのようにしますか?

ありがとう!

4

1 に答える 1

2

コードに非常に多くのキャストを記述しなければならない場合、設計に問題があると思います。

あなたのケースを見直してみましょう。何をtypeAnno.getTel()返しますか?という名前のクラスのインスタンスを返すとしましょうPhone。このクラスはEntities、メソッドを宣言する拡張されているようgetName()です。この場合、キャストはまったく必要ありません。言うだけ:

String name = typeAnno.getTel().getName();

以前の Java 1.5 では、コレクションからオブジェクトを抽出するときにキャストが必要になることがありました。しかし、Java 1.5 で導入されたジェネリックにより、キャストの記述をほとんど回避できます。

したがって、一般的な質問に対する一般的な答えは次のとおりです。何かをキャストする必要がある場合は、デザインを見直してください。ほとんどの場合、まったく回避できます。

于 2012-12-31T12:05:53.477 に答える