我有一组名为softPrice0(和1,2,3)的全局双变量
问题是我想使用这样的方法:
SOMEWORD getOPrice() //I tried double, String, Object, variable, etc
{return softPrice0;}
所以我以后可以像这样使用它: getOPrice()=5.8;
我知道使用数组可以解决问题,但我想知道我是否可以让方法抛出变量名称以按照我的解释使用它。
谢谢奥唐
这就是我的方式,虽然方法改变了。
setOPrice(Double.parseDouble(txtPriceDolar.getText())); //thats the call
void setOPrice(double value) { //this is the setter, no need of getter
switch(combobox.getSelectedIndex())
{case 1: this.softPrice0 = value; break;
case 2: this.softPrice1 = value; break;
case 3: this.softPrice2 = value; break;
default: this.softPrice3 = value; break;}}
现在看起来更简单了,谢谢大家。问错问题会教很多东西。
对于设置,您不能根据需要使用getter。 getOPrecio()=5.8;
行不通。您必须使用二传手方法。看看下面的例子,要访问这个值,你必须使用 getter(read) 或 setter(write)。
您可能希望使用类似 setOPrecio(5.8)
.
public class DoubleHolder {
private double vaule;
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value
}
}
Java 按值传递,因此如果没有单独的 getter 和 setter,这是不可能的。
例子:
void setOPrecio(double softPrecio0) {
this.softPrecio0 = softPrecio0;
}
double getOPrecio() {
return softPrecio0;
}
但是,如果值是一个类,则可能要查找类似于单例模式的内容。
public class Singleton {
private static final Singleton INSTANCE = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return INSTANCE;
}
}
来自维基百科文章的单例示例代码。
Java无法传递或返回"变量"。
您将得到的最接近的是:
-
传递或返回字段为"变量"的对象,或
-
传递或返回一个数组,其元素可以被视为"变量"。
需要明确的是,这两种设计都不是接近传递或返回裸变量。
您需要根据Java提供的构造重新考虑您的问题/解决方案。