Java тілінде Аннотацияларды теріңіз

Java тілінде Аннотацияларды теріңіз

Java 8 нұсқасын енгізумен бұл нұсқа қайталанатын аннотациялар және аннотацияларды теру деп аталатын екі жаңа мүмкіндікті енгізді. Осы уақытқа дейін, егер сіз Java тілінде аннотацияларды пайдаланғыңыз келсе, мұны тек мәлімдемелерде жасай аласыз. Java 8 көмегімен енді кез келген түрдегі пайдалану үшін аннотациялар қосуға болады. Түрді қай жерде пайдалансаңыз да (мәлімдемелерде, генериктерде және трансляциялардағы түрлерді қамтиды), оны аннотациямен сүйемелдеуге болады.

Аннотация синтаксисін теріңіз

Java 8 кез келген түрдегі пайдалану түрі бойынша аннотацияларды жариялай алады. Бір мысал төмендегі үзінді:

@Шифрланған жол деректері; <@NonNull String> жолдарының тізімі; myGraph = ( @Immutable Graph ) tmpGraph; Сіз жай ғана жаңа түрдегі аннотацияны енгізе аласыз. Процесс ElementType.TYPE_PARAMETER мақсатты, ElementType.TYPE_USE мақсатымен немесе екі мақсатпен аннотацияны анықтауға ұқсас: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Шифрланған { }

ElementType.TYPE_PARAMETER мақсатты түрдегі айнымалы мәннің (мысалы, MyClass класы) мәлімдемесіне аннотация жазуға болатындығын білдіреді. {….}). Element.Type.TYPE_USE кез келген пайдалану түріне (атап айтқанда, мәлімдемелердегі, генериктердегі және трансляциялардағы түрлер") аннотация жазуға болатынын білдіреді.

Аннотацияларды сынып файлдарында сақтауға болады, бірақ ол бағдарламаның орындалуына әсер етпейді немесе әсер етпейді. Мысал ретінде төмендегі кодта көрсетілгендей екі Файл айнымалысын және қосылымды жариялауға болады:

Файл файлы = ….; @Encryted File encryptedFile = …; @Open Connection қосылымы = …; Бағдарламаны орындау кезінде екі файлдың бірін қосылымның send() әдісіне өткізсеңіз, нәтиже бірдей болады. байланыс.жіберу(файл); connection.send(encryptedFile);

 

Түрдегі аннотациялардың кейбір мысалдары

@nonNull тізімі Тізім <@NonNull String> str Массивтер <@NonNegative Integer> сұрыптау @Encypted Файл файлы @Open Қосылым байланысы жарамсыз divideInteger (int a, int b) @ZeroDivisior ArithmeticException шығарады

 

Пікір қалдыру

Бұл сайт спамның төмендеуі үшін Akismet пайдаланады. Деректеріңіздің қалай өңделетінін біліңіз.