// File ĠA . java Ċ import Ġjava . util . Arrays ; Ċ import Ġkotlin . Metadata ; Ċ import Ġkotlin . jvm . internal . Intr insics ; Ċ import Ġorg . jetbrains . annotations . NotNull ; Ċ import Ġorg . jetbrains . annotations . Nullable ; Ċ Ċ public Ġfinal Ġclass ĠA Ġ{ ĊĠĠ Ġ@ NotNull ĊĠĠ Ġprivate Ġfinal Ġint [] Ġv ; ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal Ġint [] Ġget V () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . v ; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic ĠA (@ NotNull Ġint [] Ġv ) Ġ{ ĊĠĠĠĠĠ Ġsuper (); ĊĠĠĠĠĠ Ġthis . v Ġ= Ġv ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal Ġint [] Ġcomponent 1 () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . v ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal ĠA Ġcopy (@ NotNull Ġint [] Ġv ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġnew ĠA ( v ); ĊĠĠ Ġ} ĊĊĠĠ Ġ// Ġ$ FF : Ġsynthetic Ġmethod ĊĠĠ Ġpublic Ġstatic ĠA Ġcopy $ default ( A Ġvar 0 , Ġint [] Ġvar 1 , Ġint Ġvar 2 , ĠObject Ġvar 3 ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ(( var 2 Ġ& Ġ 1 ) Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġvar 1 Ġ= Ġvar 0 . v ; ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġreturn Ġvar 0 . copy ( var 1 ); ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic ĠString ĠtoString () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ" A ( v =" Ġ+ ĠArrays . toString ( this . v ) Ġ+ Ġ")"; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic Ġint ĠhashCode () Ġ{ ĊĠĠĠĠĠ Ġint [] Ġvar 1 0 0 0 0 Ġ= Ġthis . v ; ĊĠĠĠĠĠ Ġreturn Ġvar 1 0 0 0 0 Ġ!= Ġnull Ġ? ĠArrays . hashCode ( var 1 0 0 0 0 ) Ġ: Ġ 0 ; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic Ġboolean Ġequals (@ Nullable ĠObject Ġvar 1 ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( this Ġ!= Ġvar 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġif Ġ( var 1 Ġinstanceof ĠA ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġvar 2 Ġ= Ġ( A ) var 1 ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Intr insics . are Equal ( this . v , Ġvar 2 . v )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ; ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ; ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } ĊĊ Ċ // File ĠMain . kt ĊĊ Ċ fun Ġbox () Ġ: ĠString Ġ{ ĊĠ Ġval Ġmy Array Ġ= Ġint ArrayOf ( 0 , Ġ 1 , Ġ 2 ) ĊĠ Ġif ( A ( my Array ) Ġ== ĠA ( int ArrayOf ( 0 , Ġ 1 , Ġ 2 ))) Ġreturn Ġ" fail " ĊĠ Ġif ( A ( my Array ) Ġ!= ĠA ( my Array )) Ġreturn Ġ" fail Ġ 2 " ĊĠ Ġreturn Ġ" OK " Ċ } ĊĊ