用Case类生成模板代码

将类定义为case类会生成许多模板代码,好处在于:

①会生成一个apply方法,这样就可以不用new关键字创建新的实例。

②由于case类的构造函数参数默认是val,那么构造函数参数会自动生成访问方法。如果是var也会有修改方法。

③会生成一个默认的toString的方法。

④会生成一个unapplay方法,在模式匹配时很好用。

⑤会生成equals和hashCode的方法。

⑥会生成copy的方法。

举个栗子:

①定义case时,在也不用new关键字来创建实例了:

②case类的构造函数人数默认的是val,所以会自动生成访问方法,但不会有修改的方法。

③把case类的构造函数参数声明为var,既有修改方法又有访问的方法。

④case类的toString的方法的实现。

⑤case class会自动生成一个unapply的方法,当需要在匹配表达式中提取信息时会很好用。

⑥case也同时生成了equals和hashCode,这样实例就可以比较了。

case类创建一个copy方法,但需要克隆一个对象时很有用,在克隆时可以修改某些字段。

 

posted @   大数据智工厂  阅读(539)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示