// File ĠMain . kt ĊĊ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġfake : ĠAny Ġ= ĠFake Int ( 4 2 ) ĊĊĠĠĠ Ġval Ġint 1 Ġ= Ġ 1 ĊĠĠĠ Ġval Ġint 4 2 Ġ= Ġ 4 2 ĊĊĠĠĠ Ġif Ġ( fake Ġ== Ġint 1 ) Ġreturn Ġ" Fake Int ( 4 2 ) Ġ== Ġ 1 " ĊĠĠĠ Ġif Ġ( fake Ġ!= Ġint 4 2 ) Ġreturn Ġ" Fake Int ( 4 2 ) Ġ!= Ġ 4 2 " ĊĠĠĠ Ġif Ġ( int 1 Ġ== Ġfake ) Ġreturn Ġ" 1 Ġ== ĠFake Int ( 4 2 )" ĊĠĠĠ Ġif Ġ( int 4 2 Ġ== Ġfake ) Ġreturn Ġ" 4 2 Ġ== ĠFake Int ( 4 2 )" ĊĊĠĠĠ Ġreturn Ġ" OK " Ċ } ĊĊĊ Ċ // File ĠFake Int . java Ċ import Ġkotlin . Metadata ; Ċ import Ġkotlin . jvm . internal . Intr insics ; Ċ import Ġorg . jetbrains . annotations . Nullable ; Ċ Ċ public Ġfinal Ġclass ĠFake Int Ġ{ ĊĠĠ Ġprivate Ġfinal Ġint Ġvalue ; ĊĊĠĠ Ġpublic Ġboolean Ġequals (@ Nullable ĠObject Ġother ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġother Ġinstanceof ĠInteger Ġ&& ĠIntr insics . are Equal ( other , Ġthis . value ); ĊĠĠ Ġ} ĊĊĠĠ Ġpublic Ġfinal Ġint ĠgetValue () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . value ; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic ĠFake Int ( int Ġvalue ) Ġ{ ĊĠĠĠĠĠ Ġthis . value Ġ= Ġvalue ; ĊĠĠ Ġ} Ċ } Ċ