gpt4 book ai didi

groovy - immutable 和 final 的区别

转载 作者:行者123 更新时间:2023-12-04 14:28:04 25 4
gpt4 key购买 nike

immutable 和 final 和有什么不一样?

例如,这

@Immutable
public MyClass {
String property1
MyOtherClass property2
List myLIst
}


public final MyClass {
final String property1
final MyOtherClass property2
final List myLIst
}

最佳答案

The @Immutable annotation instructs the compiler to execute an AST transformation which adds the necessary getters, constructors, equals, hashCode and other helper methods that are typically written when creating immutable classes with the defined properties. [1]



因此,@Immutable 会生成辅助功能,类似于 Scala 中的“案例类”。 final关键字指示编译器特定变量是不可变的,就像在 Java 中一样。

第一个类相当于第二个类,带有几个辅助函数。

[1] http://groovy.codehaus.org/gapi/groovy/transform/Immutable.html

关于groovy - immutable 和 final 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23101984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com