Kotlin使用关键字object加以修饰,并称之为“单例对象”,相当于java的工具类
与不同的类相比,像一个阉割的简化类
实例
/***
* 关键字object用来声明单例对象,就像Java中开发者自己定义的Utils工具类。
* 其内部的属性等同于Java中的static静态属性,外部可直接获取属性值。
*/
object DateUtil {
/***
* 返回日期时间
*/
val nowDateTime: String
//外部访问DateUtil.nowDateTime时,会自动调用nowDateTime附属的get方法得到它的值
@SuppressLint("SimpleDateFormat")
get() {
val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
return sdf.format(Date())
}
/***
* 返回日期字符串
*/
val nowDate: String
@SuppressLint("SimpleDateFormat")
get() {
val sdf = SimpleDateFormat("yyyy-MM-dd")
return sdf.format(Date())
}
@SuppressLint("SimpleDateFormat")
fun nowFormatTime(format: String = ""): String {
val ft: String = format
val sdf = if (!ft.isEmpty()) {
SimpleDateFormat(ft)
} else {
SimpleDateFormat("yyyyMMddHHmmss")
}
return sdf.format(Date())
}
}
使用
private var count: Int = 0
btn_extend_date.setOnClickListener { v ->
text_extend_date.text = "拓展函数" + when (count % 3) {
0 -> "当前日期时间为${DateUtil.nowDateTime}"
1 -> "当前日期为${DateUtil.nowDate}"
else -> "当前日期格式${DateUtil.nowFormatTime("yyyy年MM月dd日 HH时mm分")}"
}
count++
}