Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建类似于JavaBean但具有修改输入的简单逻辑的scala类_Java_Spring_Scala - Fatal编程技术网

如何创建类似于JavaBean但具有修改输入的简单逻辑的scala类

如何创建类似于JavaBean但具有修改输入的简单逻辑的scala类,java,spring,scala,Java,Spring,Scala,我有以下JavaBean public class ReportTest { private Integer Impressions; public Integer getImpressions() { return Impressions; } public void setImpressions(String impressions) { Impressions = Integer.parseInt(impressions

我有以下JavaBean

public class ReportTest {

    private Integer Impressions;

    public Integer getImpressions() {
        return Impressions;
    }

    public void setImpressions(String impressions) {
        Impressions = Integer.parseInt(impressions.replace(",",""));
    }
}
并尝试使用scala类创建一个类似的类,但它抱怨语法错误。看来我不能修改了。我的目的是将scala用作以下项目的Springbean:


Java类很奇怪:
impressions
的getter和setter不使用相同的数据类型。你不可能在一个Scala
var
中把所有的东西都混在一起,它只有一种类型

您可以将Java类转换为等效的Scala代码,如下所示:

class ReportTest {
  var _impressions: Int = _

  def impressions: Int = _impressions

  def impressions_=(v: String): Unit =
    _impressions = Integer.parseInt(v.replace(",", ""))
}
但这仍然很奇怪,因为getter和setter的类型不同

在我看来,调用方应该负责将字符串转换为
Int
。然后,您的类可以简单地编写为:

class ReportTest {
  var impressions: Int = _
}
class ReportTest {
  var _impressions: Int = _

  def impressions: Int = _impressions

  def impressions_=(v: String): Unit =
    _impressions = Integer.parseInt(v.replace(",", ""))
}
class ReportTest {
  var impressions: Int = _
}