假设我有一种将数字插入二叉树的方法
public BinaryNode insert(Comparable x, BinaryNode t) {
//Logic here
}
BinaryTree t = new BinaryTree();
我将如何转换数字(例如4)以匹配此方法上正确的参数?例如
t.insert(4, t ) // I know this wont work, but I wanted to to something like this
最佳答案
它应该可以正常工作-装箱成一个整数。样例代码:
public class Test {
static void foo(Comparable<?> c) {
System.out.println(c.getClass());
}
public static void main(String args[]) throws Exception {
foo(10);
}
}
即使您使用原始类型
Comparable
,此方法也可以工作,尽管我建议您反对这样做。诚然,我强烈怀疑您最好将您的
BinaryNode
(可能是BinaryTree
)类设为通用,此时您将拥有:// You shouldn't need to pass in the node - the tree should find it...
BinaryTree<Integer> tree = new BinaryTree<Integer>();
tree.insert(10);