gpt4 book ai didi

java - Java Integers默认为int

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

我正在调用各种方法,并且参数Integer值都默认为int,甚至是1或0之类的值,除了类型转换之外,我还应该做些什么来解决此问题?这是代码示例

public class Launch {
public static void main(String[] args) {
CoordinateHandler handler = new Handler();
short x = 3901;
short y = 5921;
byte h = 2;
handler.toCoordinates(x, y, h, "modern");
}
}
public class CoordinateHandler extends CoordinateMain {
public void toCoordinates(short absX, short absY, byte height, String type) {
if (type.equals("modern")) {
super.toCoordinates(absX, absY, height);
} else {
coordinateUpdateEvent(absX, absY, height, type);
}
}
}

我将收到一个编译错误,指出在短x,短y和字节h的行上可能会失去精度,并且我还将得到一个编译错误,指出toCoordinates(int,int,int,String)无法应用于toCoordinates (短,短,字节,字符串)

最佳答案

这些行是不正确的

short x = 3901;
short y = 5921;
byte h = 2;

导致任何编译器错误;后续方法调用也是如此。这是完全合法和正确的Java。您可能没有显示导致您出现这些问题的文字代码,例如从变量或参数而不是从文字值进行赋值,该值会自动转换为LHS类型。

如果确实从 int参数进行赋值,那么编译器是正确的:您的赋值确实可能导致溢出。

关于java - Java Integers默认为int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882340/

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