// File ĠA . java Ċ import Ġkotlin . Metadata ; Ċ import Ġkotlin . jvm . internal . Intr insics ; Ċ import Ġorg . jetbrains . annotations . NotNull ; Ċ import Ġorg . jetbrains . annotations . Nullable ; Ċ Ċ public Ġfinal Ġclass ĠA Ġ{ ĊĠĠ Ġprivate Ġfinal Ġint Ġx ; ĊĠĠ Ġ@ Nullable ĊĠĠ Ġprivate Ġfinal ĠObject Ġy ; ĊĠĠ Ġ@ NotNull ĊĠĠ Ġprivate Ġfinal ĠString Ġz ; ĊĊĠĠ Ġpublic Ġfinal Ġint Ġget X () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . x ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Nullable ĊĠĠ Ġpublic Ġfinal ĠObject Ġget Y () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . y ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal ĠString Ġget Z () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . z ; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic ĠA ( int Ġx , Ġ@ Nullable ĠObject Ġy , Ġ@ NotNull ĠString Ġz ) Ġ{ ĊĠĠĠĠĠ Ġsuper (); ĊĠĠĠĠĠ Ġthis . x Ġ= Ġx ; ĊĠĠĠĠĠ Ġthis . y Ġ= Ġy ; ĊĠĠĠĠĠ Ġthis . z Ġ= Ġz ; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic Ġfinal Ġint Ġcomponent 1 () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . x ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Nullable ĊĠĠ Ġpublic Ġfinal ĠObject Ġcomponent 2 () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . y ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal ĠString Ġcomponent 3 () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . z ; ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal ĠA Ġcopy ( int Ġx , Ġ@ Nullable ĠObject Ġy , Ġ@ NotNull ĠString Ġz ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġnew ĠA ( x , Ġy , Ġz ); ĊĠĠ Ġ} ĊĊĠĠ Ġ// Ġ$ FF : Ġsynthetic Ġmethod ĊĠĠ Ġpublic Ġstatic ĠA Ġcopy $ default ( A Ġvar 0 , Ġint Ġvar 1 , ĠObject Ġvar 2 , ĠString Ġvar 3 , Ġint Ġvar 4 , ĠObject Ġvar 5 ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ(( var 4 Ġ& Ġ 1 ) Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġvar 1 Ġ= Ġvar 0 . x ; ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ(( var 4 Ġ& Ġ 2 ) Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġvar 2 Ġ= Ġvar 0 . y ; ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ(( var 4 Ġ& Ġ 4 ) Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġvar 3 Ġ= Ġvar 0 . z ; ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġreturn Ġvar 0 . copy ( var 1 , Ġvar 2 , Ġvar 3 ); ĊĠĠ Ġ} ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic ĠString ĠtoString () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ" A ( x =" Ġ+ Ġthis . x Ġ+ Ġ", Ġy =" Ġ+ Ġthis . y Ġ+ Ġ", Ġz =" Ġ+ Ġthis . z Ġ+ Ġ")"; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic Ġint ĠhashCode () Ġ{ ĊĠĠĠĠĠ Ġint Ġvar 1 0 0 0 0 Ġ= ĠInteger . hashCode ( this . x ) Ġ* Ġ 3 1 ; ĊĠĠĠĠĠ ĠObject Ġvar 1 0 0 0 1 Ġ= Ġthis . y ; ĊĠĠĠĠĠ Ġvar 1 0 0 0 0 Ġ= Ġ( var 1 0 0 0 0 Ġ+ Ġ( var 1 0 0 0 1 Ġ!= Ġnull Ġ? Ġvar 1 0 0 0 1 . hashCode () Ġ: Ġ 0 )) Ġ* Ġ 3 1 ; ĊĠĠĠĠĠ ĠString Ġvar 1 Ġ= Ġthis . z ; ĊĠĠĠĠĠ Ġreturn Ġvar 1 0 0 0 0 Ġ+ Ġ( var 1 Ġ!= Ġnull Ġ? Ġvar 1 . hashCode () Ġ: Ġ 0 ); ĊĠĠ Ġ} ĊĊĠĠ Ġpublic Ġboolean Ġequals (@ Nullable ĠObject Ġvar 1 ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( this Ġ!= Ġvar 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġif Ġ( var 1 Ġinstanceof ĠA ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġvar 2 Ġ= Ġ( A ) var 1 ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . x Ġ== Ġvar 2 . x Ġ&& ĠIntr insics . are Equal ( this . y , Ġvar 2 . y ) Ġ&& ĠIntr insics . are Equal ( this . z , Ġvar 2 . z )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ; ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ; ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } ĊĊ Ċ // File ĠMain . kt ĊĊ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġa Ġ= ĠA ( 4 2 , Ġnull , Ġ" OK ") ĊĠĠĠ Ġval Ġ( x , Ġy , Ġz ) Ġ= Ġa ĊĠĠĠ Ġreturn Ġif Ġ( x Ġ== Ġ 4 2 Ġ&& Ġy Ġ== Ġnull ) Ġz Ġelse Ġ" Fail " Ċ } ĊĊ