如何使方法返回"variable"(不是值)?



我有一组名为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提供的构造重新考虑您的问题/解决方案。

相关内容

  • 没有找到相关文章

最新更新