gpt4 book ai didi

java - 我可以设置一个类,比如 class = 8

转载 作者:行者123 更新时间:2023-11-29 05:24:00 24 4
gpt4 key购买 nike

对于标题措辞不当,我深表歉意,但我找不到更好的方式来描述我的问题。

我正在制作一个自定义 Degree 类,它只会包含 0 到 360 之间的任何数字,任何更高的添加都将被解析为它们的 0-360 等效值。我想知道是否有可能做原始类型做的事情,即 Int a = 1。

我怀疑这是可能的,但如果是,我该怎么做呢?

最佳答案

这就是您所描述的在 Java 中的样子。您将必须创建一个代表您学位的包装类。然而,在内部,我们将只使用 Integer 对象(或者 int 原语可以正常工作)。

public class Degree {

private Integer degrees;

// Constructor, takes an Integer object or int primitive
public Degree(Integer deg){
setDegrees(deg);
}
// Get degrees from your wrapper object
public Integer getDegrees(){
return degrees;
}
// Set degress of your wrapper object
public void setDegrees(Integer deg){
if(deg<361 && deg>-1){ degrees = deg; }
else if(deg>360){ degrees = 360; }
else if(deg<0){ degrees = 0; }
}
}

要在其他地方的代码中使用它,您只需使用;

Degree d = new Degree(31);

您可能想要 override the toString(); method以及 equals(); 方法,以便于使用新的 Degree 类。我希望这会有所帮助。


编辑:声明一个类并使用 = 运算符将其声明为原语的行为称为自动装箱。自 Java 5 以来可能存在的行为,但仅适用于 Java 5 specification 中定义的包装类的预设列表。 .

该列表包括BooleanByteShortCharacterInteger , Long, Float, Double.

关于java - 我可以设置一个类,比如 class = 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442563/

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