package Ġcom . github . y ves che ung . wh isper Ċ Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠJava Ġ ç¼º å°ĳ ä¸įåı¯ åıĺ éĽĨåĲĪ çļĦ æ¦Ĥå¿µ ï¼Į å¯¼èĩ´ å¯¹ å¤ĸ æļ´ éľ ² çļĦ éĽĨåĲĪ å¾Ģ å¾Ģ éľĢè¦ģ æĭ · è´Ŀ ä¸Ģæ¬¡ ï¼Į Ċ Ġ* Ġ æĪĸèĢħ çĶ¨ Ġ[ Collections . unmodifiable Collection ] Ġæĸ¹æ³ķ å°ģè£ħ ä¸Ģæ¬¡ ãĢĤ Ċ Ġ* Ċ Ġ* Ġ[ Immutable ] Ġ æ³¨è§£ çļĦ çĽ® çļĦæĺ¯ æ·»åĬł ä¸įåı¯ åıĺ éĽĨåĲĪ çļĦ è¯Ń ä¹ī ï¼Į ä½¿ å¾Ĺ è¢« æ³¨è§£ çļĦ Ġ[ java . util . List ] Ġ/ Ċ Ġ* Ġ[ java . util . Queue ] Ġ/ [ java . util . Map ] Ġ/ Ġ[ java . util . Map . Entry ] Ġ/ Ċ Ġ* Ġ[ java . util . Collection ] Ġ/ Ġ[ java . util . Iterator ] Ġ æĹłæ³ķ è¢« ä¿®æĶ¹ ãĢĤ Ċ Ġ* Ċ Ġ* Ġ``` Java Ċ Ġ* Ġ@ Immutable Ċ Ġ* Ġprivate Ġfinal ĠList < String > Ġimmutable List Ġ= Ġnew ĠArrayList <>(); Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ æ³¨è§£ åľ¨ éĽĨåĲĪ ç±»åŀĭçļĦ å±ŀæĢ§ ä¸Ĭ ï¼Į è¯¥ å±ŀæĢ§ çļĦ Ġ[ java . util . Collection . add ] Ġ/ Ġ[ java . util . Collection . remove ] Ċ Ġ* Ġ çŃī ä¿®æĶ¹ éĽĨåĲĪ çļĦæĸ¹æ³ķ çļĦ è°ĥçĶ¨ å°Ĩ ä¼ļ ä¸į åĲĪ æ³ķ ãĢĤ ä»£çłģ æ£Ģ éĺħ å°Ĩ ä¼ļ æī«æıı åĩº éĽĨåĲĪ çļĦ ä¿®æĶ¹ ï¼Į å¹¶ ç»Ļ äºĪ æıĲç¤º ï¼ļ Ċ Ġ* Ġ``` Ċ Ġ* Ġsrc / aa / A . java : 1 5 : ĠError : Ġyou Ġcannot Ġinvoke Ġthe Ġ[ add (\" h aha \ ")] Ġmethod Ġon Ġan Ġimmutable Ġobject . Ġ[ Immutable Object ] Ċ Ġ* ĠĠ Ġimmutable List . add (\" h aha \ "); Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~~~~~ Ċ Ġ* Ġsrc / aa / A . java : 1 2 : ĠThis Ġreference Ġis Ġannotated Ġby Ġ@ Immutable Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ èĭ¥ æ³¨è§£ åľ¨ æĸ¹æ³ķ ä¸Ĭ ï¼Į æĸ¹æ³ķ è¿ĶåĽŀ çļĦ éĽĨåĲĪ ç±»åŀĭ å°Ĩ æĹłæ³ķ è¢« ä¿®æĶ¹ ãĢĤ Ċ Ġ* Ġå¦Ĥæŀľ æĸ¹æ³ķ è¿ĶåĽŀ çļĦåĢ¼ å·²ç»ı è¢« [ Immutable ] æ³¨è§£ ï¼Į éĤ£ä¹Ī æĸ¹æ³ķ ä¹Ł å¿ħé¡» è¢« [ Immutable ] æ³¨è§£ ï¼Į ä¿Ŀè¯ģ æķ°æį® ç±»åŀĭçļĦ ä¸Ģèĩ´ æĢ§ ãĢĤ Ċ Ġ* Ċ Ġ* Ġ``` Java Ċ Ġ* Ġ@ Immutable Ċ Ġ* Ġprivate ĠList < String > Ġget Result () Ġ{ Ċ Ġ* ĠĠĠĠ Ġreturn Ġimmutable List ; Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ èĭ¥ æ³¨è§£ åľ¨ æĸ¹æ³ķ åıĤæķ° ä¸Ĭ ï¼Į è¯¥ åıĤæķ° çļĦ éĽĨåĲĪ æĹłæ³ķ è¢« ä¿®æĶ¹ ãĢĤ Ċ Ġ* Ġ èĭ¥ æ³¨è§£ çļĦåıĤæķ° / åıĺéĩı èµĭåĢ¼ ç»Ļ åı¦ ä¸Ģä¸ª åıĺéĩı / å±ŀæĢ§ ï¼Į éĤ£ä¹Ī è¯¥ åıĺéĩı / å±ŀæĢ§ ä¹Ł éľĢè¦ģ è¢« [ Immutable ] æ³¨è§£ ï¼Į ä¿Ŀè¯ģ æķ°æį® ç±»åŀĭçļĦ ä¸Ģèĩ´ æĢ§ ãĢĤ Ċ Ġ* Ċ Ġ* Ġ``` Java Ċ Ġ* Ġ@ Immutable Ċ Ġ* Ġprivate ĠSet < Int > Ġresult ; Ċ Ġ* Ċ Ġ* Ġprivate Ġvoid Ġset Result (@ Immutable ĠSet < Int > Ġresult ){ Ċ Ġ* ĠĠĠĠ Ġthis . result Ġ= Ġresult ; Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ author ĠY ves Che ung Ċ Ġ* Ġ 2 0 1 8 / 9 / 8 . Ċ Ġ*/ Ċ @ Must Be Document ed Ċ @ Retention ( Annotation Retention . SOURCE ) Ċ @ Target ( ĊĠĠĠ ĠAnnotation Target . FIELD , ĊĠĠĠ ĠAnnotation Target . FUNCTION , ĊĠĠĠ ĠAnnotation Target . PROPERTY _ GET TER , ĊĠĠĠ ĠAnnotation Target . PROPERTY _ SET TER , ĊĠĠĠ ĠAnnotation Target . LOCAL _ VARIABLE , ĊĠĠĠ ĠAnnotation Target . VALUE _ PARAMETER ) Ċ annotation Ġclass ĠImmutable Ċ