zoukankan      html  css  js  c++  java
  • Scala可变对象

    Java提供JavaBean作为数据对象的封装, 而对于Scala来说也提供了同样的支持.

    class Apple {
      var weight: Float = _
      var color: String = _
    }

    Scala无需向JavaBean那样显示的声明 getter和setter , 只需将变量声明为var就可以了, getter方法 weight , setter方法为 weight_= ; 同时, 在JavaBean中的变量可以不用初始化, 但是在Scala中需要初始化为_, _的具体值由变量的类型决定, 对于数值型的为0, Boolean的为false, 引用类型为null.

    public class JavaApple {
        private int age;  // right
    }
    
    class ScalaApple {
      var age: Int // wrong
      var age: Int = _ // right, 0
    }

    关于@BeanProperty

    然而许多已有的Java库依然需要使用JavaBean的getter和setter方法, 而不是ScalaBean的setter和getter, 这种情况下会报错. 为了解决这个问题, Scala引入的额@BeanProperty注解, 在变量上标注该注解, Scala编译器会自动生成getter个setter方法.

    class ScalaApple {
      @BeanProperty
      var age: Int = _
    }
  • 相关阅读:
    learning scala pattern matching
    learning scala Case Classses
    simcom7600ce-t LBS function
    hadoop kafka learning url
    python 生成器
    计算机名称和IP地址
    批量压缩文件夹到Zip文件
    批量解压Zip文件
    创建本地作业
    方便不冗余的桌面文件夹
  • 原文地址:https://www.cnblogs.com/ayning/p/6377853.html
Copyright © 2011-2022 走看看