คำนำ
บทความนี้ส่วนใหญ่แนะนำความแตกต่างระหว่าง? และ !!! ใน Kotlin มันถูกแบ่งปันสำหรับการอ้างอิงและการเรียนรู้ของคุณ ฉันจะไม่พูดด้านล่างมากนัก มาดูการแนะนำรายละเอียดร่วมกันกันเถอะ
1.?.
//kotlin:a?.foo()//equivalent to java: ถ้า (a! = null) {a.foo ();} 2. !!!
//kotlin:a!!.foo()//equivalent to java: ถ้า (a! = null) {a.foo ();} อื่น {โยน kotlinnullpointexception ใหม่ ();}นักเรียนที่มีเวลามีค่าไม่สามารถดูสิ่งต่อไปนี้ (`_`)
3. มาพูดถึง“ !!”
เป็นมูลค่าการกล่าวขวัญว่าเมื่อเราเรียกวิธีการโดยตรงหรือตัวแปรสมาชิกของตัวแปรที่ไม่มีค่าใช้จ่าย:
โทรโดยตรงรายงานข้อความแสดงข้อผิดพลาด
Android Studio จะแจ้งให้ทราบว่าในตัวแปรที่เป็นโมฆะมีเพียง "การโทรที่ปลอดภัย (?.)) และ" Non-Null Assert Call (!!.)) ได้รับอนุญาตและคุณสามารถรู้ได้ว่า "!!" เทียบเท่ากับการดำเนินการยืนยันนั่นคือ:
//(KOTLIN)A!!.FOO()//equal to (kotlin): a !! a.foo () // เทียบเท่ากับ (java): ยืนยัน a! = null; a.foo (); // มันเทียบเท่ากับ (java): ถ้า (a == null)
จากนั้นก็มีข้อสรุปของจุดที่สองด้านบน
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะมีค่าอ้างอิงบางอย่างสำหรับการศึกษาหรือที่ทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร ขอบคุณสำหรับการสนับสนุน Wulin.com