我有一个问题。 我在
在Eclipse环境中工作。
计算机可能不会进行以下转换:
int a .
objectans=(int ) a;
但是,只有这个变换:
int a .
对象ans=(integer ) a;
我知道为什么可以在Object to Integer之间转换,但为什么是原始变量可能可以,也可能不能?
谢谢
添加编译器时,不允许在int变量和object之间转换的代码。
/** @return minimum element */
公共对象最小()。
返回最小(this.root;
}
publicobjectminimum (bstnodenode ) {
if(node.left!=null (返回最小(node.left ) );
返回节点. data;
}
/* * @返回最大元素* /
公共对象最大化
返回最大值(this.root );
}
publicobjectmaximum (bstnodenode ) {
if(node.right!=null (返回最大值(node.right ) );
返回节点. data;
}
publicobjectfindnearestsmall (对象elem ) {
int diff;
DIFF=(int ) maximum ) (-) int ) minimum );
if (比较(最小)、elem )==0)返回elem;
elsereturnfindnearestsmall (elem,this.root,diff );
}
publicobjectfindnearestsmall (object elem,BSTNode node,int mindiff ) {
if(node==null )返回(int ) elem - mindiff;
intdiff=(int ) elem-(int ) node.data;
if(diff0mindiffdiff ) mindiff=diff;
/* case 2: lookforinleftsubtree * /
if (比较(node.data,elem )-1 ) ) ) ) ) ) ) )。
returnfindnearestsmall(elem,node.left,mindiff );
else
/* case 3: lookforinrightsubtree * /
returnfindnearestsmall(elem,node.right,mindiff );
}