1.数据模型
var lists:Artlist在Java中,如果我们要典型的数据类,我们需要去编写( 至
少生成) 这些代码:
public class Artist {
private long id;
private String name;
private String url;
private String mbid;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getMbid() {
return mbid;
}
public void setMbid(String mbid) {
this.mbid = mbid;
}
@Override
public String toString() {
return "Artist{" +
"id=" + id +
", name='" + name + '\'' +
", url='" + url + '\'' +
", mbid='" + mbid + '\'' +
'}';
}
}
使用Kotlin,我们只需要通过数据类:
data class Artist(var id: Long,var name: String,var url: String,var mbid: String)
这个数据类,它会自动生成所有属性和它们的访问器,以及一些有用的方法,比
如, toString()
2.变量定义
var test : Artist = null //编译不通过
var test : Artist? = null //表示可以是null
test.print() //无法通过编译,因为test可能为null
test?.print() //只有在test不为空时才会执行print()方法
if (artist != null) {// 智能转换. 如果我们在之前进行了空检查,则不需要使用安全调用操作符调用
artist.print()
}
artist!!.print() // 只有在确保artist不是null的情况下才能这么调用,否则它会抛出异常
val name = artist?.name ?: "empty" // 使用Elvis操作符来给定一个在是null的情况下的替代值