public static BTNode<E> treeCopy(BTNode<E> source)
{
if(source == null)
return null;
else
{
BTNode left = BTNode.treeCopy(source.left);
BTNode right = BTNode.treeCopy(source.right);
return new BTNode(source.data, left, right);
}
}
私の質問は、なぜ汎用タイプ E を静的コンテキストで使用できないのかということです。いくつかの回答を検索してみましたが、意味のあるものは見つかりませんでした。
ベストアンサー1
メソッド シグネチャでジェネリック型を宣言する必要があります。これは静的メソッドなので、他の場所からジェネリック情報を取得することはできません。したがって、ここで宣言する必要があります。
public static <E> BTNode<E> treeCopy(BTNode<E> source)
{
if(source == null)
return null;
else
{
BTNode<E> left = BTNode.treeCopy(source.left);
BTNode<E> right = BTNode.treeCopy(source.right);
return new BTNode(source.data, left, right);
}
}