Conceptos básicos de Kotlin (7) Símbolos compuestos

Directorio de artículos

1. Símbolos compuestos

1. === !== (tercera clase)

== 是比较值是否相等
=== 是比较对象的地址是否相等

2. !! (afirmar operador no nulo)

!! 比如 var s = foo!! 如果foo不为null 就取出值,如果foo为null 就抛出异常

3. ? (si el objeto actual puede ser nulo)

4. ?. (llamador de seguridad)

código:

        if (foo != null) {
    
    
            return foo.bar()
        } else {
    
    
            return null
        }

5. ?: (similar al juicio de Java)

6. es

		val str = "helloWorld"
        System.out.println("========")
        println(str is String)//输出:true
        System.out.println("========")

Información de salida:

I/System.out: ========
    true
    ========

7、!es

		val x = 10
        System.out.println("========")
        println(x !is Int)//输出:false
        System.out.println("========")

Información de salida:

I/System.out: ========
    false
    ========

8. como (convertidor de tipo inseguro) , si la conversión es exitosa, la conversión será exitosa, y si la conversión falla, se informará un error

	private var view1: View? = null
    private var view2: View? = null
    private var view3: View? = null
    private var mListView1: ListView? = null
    private var mListView2: ListView? = null
    private var mListView3: ListView? = null
    ...
    	view1 = inflater.inflate(R.layout.pager_number, null)
        view2 = inflater.inflate(R.layout.pager_number, null)
        view3 = inflater.inflate(R.layout.pager_number, null)
        //as转换成功就转换成功
        mListView1 = view1!!.findViewById<View>(R.id.listview) as ListView
        mListView2 = view2!!.findViewById<View>(R.id.listview) as ListView
        mListView3 = view3!!.findViewById<View>(R.id.listview) as ListView

9. as? (tipo convertidor de seguridad) , as?es más seguro que as, si la conversión es exitosa, la conversión será exitosa, y si la conversión falla, devolverá nulo

1. La salida no es nula

		var name:String = "哈哈哈"
        Log.e("TAG", (name as? String).toString())

Información de salida:

2. Salida nula

E/TAG: 哈哈哈
		var name:String = "哈哈哈"
        Log.e("TAG", (name as? Int).toString())

Información de salida:

E/TAG: null

Supongo que te gusta

Origin blog.csdn.net/qq_35091074/article/details/123714462
Recomendado
Clasificación