Kotlinの基本(7)複合記号

記事ディレクトリ

1.複合記号

1. ===!==(サードクラス)

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

2. !!(null以外の演算子をアサート)

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

3. (現在のオブジェクトがnullになる可能性があるかどうか)

4。?。(安全呼び出し元)

コード:

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

5. ?:( Javaの判断に似ています)

6。

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

出力情報:

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

7 、!です

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

出力情報:

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

8. (type-unsafe converter)として変換が成功した場合は変換が成功し、変換が失敗した場合はエラーが報告されます

	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?(型安全性コンバーター)as?はasよりも安全です。変換が成功した場合は変換が成功し、変換が失敗した場合はnull1を返します

。出力はnullではありません。

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

出力情報:

2.nullを出力します

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

出力情報:

E/TAG: null

おすすめ

転載: blog.csdn.net/qq_35091074/article/details/123714462