рдХреЛрдЯрд▓реАрди рдПрдо 5 рдЬрд╛рд░реА рдХрд┐рдпрд╛

рдЬрд▓реНрдж рд╣реА, рдЬрд┐рд╕ рд╕рд╛рд▓ рд╣рдордиреЗ рдХреЛрдЯрд▓рд┐рди рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓рд╛ред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ JetBrains рдХреЗ рджреЛрдиреЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╕рдореБрджрд╛рдп рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рд╣рдореЗрдВ 164 рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реБрдП, рдпрд╛рдиреА рд╣рд░ рджреЛ рджрд┐рди рдореЗрдВ рдПрдХ рдкреИрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рдЖрдЬ рд╣рдордиреЗ рдПрдХ рдФрд░ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛: рдХреЛрдЯрд▓рд┐рди рдПрдо 5 ред рдпрд╣ рдкреЛрд╕реНрдЯ M5 рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджреЗрддрд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдорд╛рддрд╛



рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╡рд░реНрдЧ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:

class Foo(val bar: Int = 0) 


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдИ рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ, рдЬреИрд╕реЗ рдХрд┐ рдЬреЗрдПрдПрдХреНрд╕рдмреА, рдХреЛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд, рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ред рдХреЛрдЯрд▓рд┐рди рдЕрдм рдРрд╕реЗ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рднреАрддрд░реА рд╡рд░реНрдЧ



M5 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдХреЛрдЯрд▓рд┐рди рди рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ "рд╕реНрдерд┐рд░" рдиреЗрд╕реНрдЯреЗрдб рдХрдХреНрд╖рд╛рдПрдВ рднреА рд╣реИред рдЪреВрдВрдХрд┐ рдЗрдирд░-рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдиреНрдХреНрд▓реЛрдЬрд╝рд┐рдВрдЧ рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рд▓реАрдХ), рдХреЛрдЯрд▓рд┐рди рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрдВрддрд░рд┐рдХ-рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

 class Outer { val foo = 1 inner class Inner { val bar = foo + 1 } } 


рдЬреЗрдирд░рд┐рдХ, рдЕрд╢рдХреНрддрддрд╛, рдЕрднрд┐рдХрдерди



рдХреЛрдЯрд▓рд┐рди рдЕрд╢рдХреНрдд рдФрд░ рдирд╣реАрдВ-рдирд▓ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрджрд░реНрдн рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдЯрд▓рд┐рди рд╕рднреА рдЧреИрд░-рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЕрд╢рдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, foo(ArrayList) Kotlin foo(ArrayList<String?>?) , null, . , : - Kotlin ArrayList, foo(), ArrayList , . , : Kotlin generic- nullable, foo() foo(ArrayList?) .

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !
рдЬрд╛рд╡рд╛ рд╡рд┐рдзрд┐ foo(ArrayList) Kotlin foo(ArrayList<String?>?) , null, . , : - Kotlin ArrayList, foo(), ArrayList , . , : Kotlin generic- nullable, foo() foo(ArrayList?) .

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !
foo(ArrayList) Kotlin foo(ArrayList<String?>?) , null, . , : - Kotlin ArrayList, foo(), ArrayList , . , : Kotlin generic- nullable, foo() foo(ArrayList?) .

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !
 foo(ArrayList)  Kotlin   foo(ArrayList<String?>?) ,        null,     .    ,      :  -  Kotlin     ArrayList,       foo(),    ArrayList ,    .     ,     :  Kotlin    generic- nullable,   foo()    foo(ArrayList?)        . 

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !
foo(ArrayList) Kotlin foo(ArrayList<String?>?) , null, . , : - Kotlin ArrayList, foo(), ArrayList , . , : Kotlin generic- nullable, foo() foo(ArrayList?) .

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !

foo(ArrayList) Kotlin foo(ArrayList<String?>?) , null, . , : - Kotlin ArrayList, foo(), ArrayList , . , : Kotlin generic- nullable, foo() foo(ArrayList?) .

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !

foo(ArrayList) Kotlin foo(ArrayList<String?>?) , null, . , : - Kotlin ArrayList, foo(), ArrayList , . , : Kotlin generic- nullable, foo() foo(ArrayList?) .

Java- "" Kotlin, NPE, Kotlin , : - , Java- Kotlin-:

Exception in thread "main" java.lang.IllegalStateException: Method specified as non-null returned null: JavaClass.foo at _DefaultPackage.main(hello.kt:4)



Kotlin M5 , IntelliJ IDEA 12.0.3 .

, : Darcula . M5 (-). !

Source: https://habr.com/ru/post/In168265/


All Articles