什么时候构建/创建/编译字符串?
When is a string built / created / compiled?
这些字符串什么时候会得到它们的值,它们应该都产生相同的值吗?
class StringFactory{
companion object{
val str1 = App.shared.userSettings.getString(key, "")
val str2: String
get(){
return App.shared.userSettings.getString(key, "")
}
val str3 = getUserKey()
fun getUserKey():String {
return App.shared.userSettings.getString(key, "")
}
}
}
这些值什么时候会改变?
代码编译时、我阅读它们时或其他时间?
str1
和 str3
属性在创建 StringFactory.Companion
时分配并且永远不会更改它们的值。
在 str2
中,属性 将在您访问它时从 userSettings
获取值。没有用于存储该值的字段。它的行为基本上与 getUserKey()
.
相同
这些字符串什么时候会得到它们的值,它们应该都产生相同的值吗?
class StringFactory{
companion object{
val str1 = App.shared.userSettings.getString(key, "")
val str2: String
get(){
return App.shared.userSettings.getString(key, "")
}
val str3 = getUserKey()
fun getUserKey():String {
return App.shared.userSettings.getString(key, "")
}
}
}
这些值什么时候会改变? 代码编译时、我阅读它们时或其他时间?
str1
和 str3
属性在创建 StringFactory.Companion
时分配并且永远不会更改它们的值。
在 str2
中,属性 将在您访问它时从 userSettings
获取值。没有用于存储该值的字段。它的行为基本上与 getUserKey()
.