假设我有一个方法可以将数字插入二叉树
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
答案 0 :(得分:4)
它应该工作正常 - 它将被装入一个整数。示例代码:
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);
答案 1 :(得分:0)
如果您传递新的Integer(4)而不是4,假设您使用的是5之前的Java版本(因为您说它不起作用),它应该可以工作。