gpt4 book ai didi

java - 我不明白如何让我的程序从整数返回 int 值

转载 作者:行者123 更新时间:2023-12-02 05:11:23 26 4
gpt4 key购买 nike

 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 作为我的数组列表。

最佳答案

Integerint 将根据系统需要自动从一种更改为另一种。这称为 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 - 每个返回值的“错误”类型。

这里发生的事情是 intbar()foo( ),通过装箱和拆箱过程,Integer 将转换为 int

您不需要执行 returnValue.intValue()Integer.valueOf(someInt) 或任何其他方法调用来将其中一个转换为另一个案件。让系统为您做。它会起作用的。

关于java - 我不明白如何让我的程序从整数返回 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com