Java 将对象转换为基元int

Java 将对象转换为基元int,java,Java,如何将对象(而不是字符串)如TreeNode.item转换为int等基本体。hashCode()可能就是您想要的。同样,它可能不是。hashCode()可能是您想要的。同样,它可能不是。回应您的最后一条评论:只需再次检查对象是否为Integer类型,然后使用自动装箱(我假设您的编译器级别为1.5+): 作为对上一条评论的回应:只需再次检查对象是否为Integer类型,然后使用自动装箱(我假设您的编译器级别为1.5+): 那么对象引用指向什么呢?您想要什么类型的转换?字符串到原语的存在是因为很容易

如何将对象(而不是字符串)如TreeNode.item转换为int等基本体。

hashCode()
可能就是您想要的。同样,它可能不是。

hashCode()
可能是您想要的。同样,它可能不是。

回应您的最后一条评论:只需再次检查对象是否为Integer类型,然后使用自动装箱(我假设您的编译器级别为1.5+):


作为对上一条评论的回应:只需再次检查对象是否为Integer类型,然后使用自动装箱(我假设您的编译器级别为1.5+):


那么对象引用指向什么呢?您想要什么类型的转换?字符串到原语的存在是因为很容易猜测字符串如何包含int或double。但是如何将树节点转换成整数呢?我能想象的唯一方法是得到标签,然后进行字符串到整数的转换。如果你想要有意义的转换,你需要告诉我们
对象
的意思。那么对象引用指向什么?您想要什么类型的转换?字符串到原语的存在是因为很容易猜测字符串如何包含int或double。但是如何将树节点转换成整数呢?我能设想的唯一方法是获取标签,然后进行字符串到整数的转换。如果您想要有意义的转换,您需要告诉我们
对象
的含义。Random.nextInt()不也包含相同的功能吗?;-)@Riduidel-no.
hashCode
在为同一对象再次调用时返回相同的值(除非更改其可见属性)。但对象之间也不一定是唯一的(如果它们具有相同的可见属性,则很可能是相同的)。
hashCode()
的实现细节可以更改,最好不要依赖于that@nimcap-你的意思是永远不要使用它吗?你肯定知道它有用途吗?@user307496-它是一个装箱整数,所以你需要Andreas_D的答案。Random.nextInt()不也包含同样的功能吗?;-)@Riduidel-no.
hashCode
在为同一对象再次调用时返回相同的值(除非更改其可见属性)。但对象之间也不一定是唯一的(如果它们具有相同的可见属性,则很可能是相同的)。
hashCode()
的实现细节可以更改,最好不要依赖于that@nimcap-你的意思是永远不要使用它吗?你肯定知道它有目的吗?@user307496-它是一个带方框的整数,所以你需要安德烈亚斯德的答案。
Object o = getTheValue();
int result = 0; // we have to initialize it here!
if (o instanceof Integer) {
  result = (Integer) o;
} else {
  throw new WTFThisShouldHaveBeenIntegerException();
}