1
だから、私はありませんいくつかのコードを持っている拡張します匹敵します?また、N extends Nodeは、タイプNがこのNodeオブジェクトで使用されるとき、NはTおよびNのプロパティを持つノードでなければならないことを意味しますか?ええ、それは複雑に聞こえますが、私は私の解釈で正しいですか?ありがとう!ジェネリック医薬品とのトラブルとは
だから、私はありませんいくつかのコードを持っている拡張します匹敵します?また、N extends Nodeは、タイプNがこのNodeオブジェクトで使用されるとき、NはTおよびNのプロパティを持つノードでなければならないことを意味しますか?ええ、それは複雑に聞こえますが、私は私の解釈で正しいですか?ありがとう!ジェネリック医薬品とのトラブルとは
はい、そうです。しかし...私はノードがツリーノードのようなノードであると解釈します、そうですか?残念ながら、子と親の型のような現在の値をNに使うのは悪い考えです。この場合
abstract class Node<T extends Comparable<T>, N extends Node<T, N>> {
private Set<N> children = new LinkedHashSet<N>();
private N parent = null;
private T nodeValue = null;
}
あなたはNode<Integer,?>
が完全なツリーに対してアクティブであるという問題があります。子供たちと両親にはIntegersだけを含むように再帰的に強いるので、ツリー内のすべてのノードにはIntegersのみが含まれていなければなりません!
この定義はコンパイルされません。どこかでかぎ括弧が欠けているので、更新してください。 – Renato
編集だけで更新されました。それはあなたが意味することですか? – chris123
まだコンパイルされません。 – Renato