我可以在一个属性中添加多个字段吗?

ice*_*n33 2 java variables private gosu guidewire

我想知道是否可以将2个不同的属性添加到单个属性。例如,我有两个属性:

private var modelYear:int as ModelYear
private var manufacturedCd:String as ManufacturerCd
Run Code Online (Sandbox Code Playgroud)

我想将这两个属性都放在一个称为“ personalVehicle”的属性中。因此,我可以从另一个类的personalVehicle导出这些值。

为了澄清我的问题:

  1. 我可以将两个属性添加到一个名为personalVehicle的属性中吗?
  2. 如果是这样,如何从另一个类的personalVehicle属性中拉出modelYear?

谢谢

Pio*_*cki 6

我在这里假设您正在Guidewire的一个应用程序中使用Gosu(因此使用了guidewire标签)。

在这些应用中,您可以访问gw.util.Pair类,该类基本上是两个值的容器。

var personalVehicle = new Pair<Integer, String>(2010, "something")
Run Code Online (Sandbox Code Playgroud)

您可以通过“第一”和“第二”属性访问存储的值。

print(personalVehicle.First) //prints 2010
print(personalVehicle.Second) //prints "something"
Run Code Online (Sandbox Code Playgroud)

请注意,“第一”和“第二”对这些属性中存储的内容一无所知。在您的情况下(尤其是如果要将您的personalVehicle传递给其他类),最好定义单独的存储modelYear和ManufacturerCd的类。

class PersonalVehicle {
    private var modelYear : int as ModelYear
    private var manufacturedCd : String as ManufacturerCd
}
Run Code Online (Sandbox Code Playgroud)

使用这样的类将使您的代码更具可读性。