private val setTitle by lazy { findViewById(.tvTitle) as TextView } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setTitle.text= "Kotlin" 1. 2. 3. 4. 5. 6. 7. 8. 9. lazy只适用val对象,对于var对象,使...
data class Person(val name: String, var age: Int) 1. 默认情况下,age属性的setter方法会直接将传入的值赋给age属性。如果我们想要实现自己的setter方法来确保age属性不会小于0,可以这样做: data class Person(val name: String, private var _age: Int) { var age: Int set(value) { if (value < 0...
Note: If a visibility modifier such as private is set on any of the arguments, it can’t be accessed in the above function. data class Book(val name: String,private val authorName: String = "Anupam", val lastModified: Long = 1234567, val rating: Float = 5f, val downloads: Int = 1...
data) is UiAction.LoadingFailed -> UiState.Error(action.error) } // 在ViewModel中使用 class ItemViewModel { private var _state = UiState.Loading val state: UiState get() = _state fun dispatch(action: UiAction) { _state = reducer(_state, action) notifyStateChanged() } fun loadData()...
dataclassSample(varid:Int)// 肇事者 这个程序的输出结果是, 1 null true 从Kotlin 反编译的结果来看, publicfinalclassSample{ privateintid; publicfinalintgetId{ returnthis.id; } publicfinalvoidsetId(intvar1){ this.id = var1; } publicSample(intid){ ...
代码语言:javascript 代码运行次数:0 运行 AI代码解释 private fun testTakeUnless(string: String) { //sampleStart val result = string.takeUnless(String::isEmpty) //sampleEnd println("string = \"$string\"; result = \"$result\"") } fun main(args: Array<String>) { testTakeUnless("") ...
private set get() { return field } val的类型只允许自定义get方法。一个常见的技巧是用这个语法糖还可以用来封装一些获取值的方法: val fooVar2 = "oneString" get() { return field } fun getFoo() :String { return "oneString" } 推荐在数据使用data class,会自动生成的get\set\toString\copy\equal...
Activity本来会在加载时在onCreate函数里用setContentView函数来寻找布局文件,并加载为自己的界面,在这里,Anko代码替代了setContentView,直接告诉Activity应该如何绘制界面。 (在Fragment里不可以这样直接写verticalLayout,因为加载机制不一样,Fragment需要在onCreateView函数里inflate并返回一个View对象,所以对应的Anko代码也需...
study() println("---") var stu2 = Student("li si", 23) } class Student { private var name: String = "zhang san" // 属性 get() { // name的getter函数 return field } set(value) { // name的setter函数 field = value } private var age: Int = 18 // 属性 init...
data class User(val name : String, val pwd : String) Java版: public class User { private String name; private String pwd; public User(){} public User(String name, String pwd) { this.name = name; this.pwd = pwd; } public String getName() { return name; } public void setName(...