作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public static int getComputerMoveAI(int left)
{
Integer returnValue = 0;
Integer place = nimMachine.size() - left;
returnValue = nimMachine.get(place).get(((int)Math.random()*place)+1);
plays[place] = returnValue;
return intValue(returnValue);
}
我希望我的程序返回一个 int 值,以便 main 可以使用它,但我不明白如何实现这一点。我知道这是不正确的,但我把它放在我想要将 Integer 更改为 int 的位置。我必须使用 Integer 作为我的数组列表。
最佳答案
Integer
和 int
将根据系统需要自动从一种更改为另一种。这称为 autoboxing .
这可以在以下代码中看到:
class Ideone {
public static int foo() {
Integer rv = Integer.valueOf(42);
return rv;
}
public static Integer bar() {
int rv = 42;
return rv;
}
public static void main (String[] args) {
System.out.println(foo());
System.out.println(bar());
}
}
( ideone )
这会打印出 42 和 42。但请注意,foo()
中的 rv
是一个 Integer
,而 bar( )
它是一个 int
- 每个返回值的“错误”类型。
这里发生的事情是 int
在 bar()
和 foo( )
,通过装箱和拆箱过程,Integer
将转换为 int
。
您不需要执行 returnValue.intValue()
或 Integer.valueOf(someInt)
或任何其他方法调用来将其中一个转换为另一个案件。让系统为您做。它会起作用的。
关于java - 我不明白如何让我的程序从整数返回 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308891/
我是一名优秀的程序员,十分优秀!