Аннотацияҳоро дар Java нависед

Аннотацияҳоро дар Java нависед

Бо ҷорӣ намудани Java 8, версия ду хусусияти навро ҷорӣ кард, ки эзоҳҳои такрорӣ ва эзоҳҳои навъи ном доранд. То ин вақт, агар шумо хоҳед, ки эзоҳҳоро дар Java истифода баред, шумо инро танҳо дар эъломияҳо карда метавонед. Бо Java 8, акнун шумо метавонед ба ҳама намуди истифода эзоҳҳо илова кунед. Дар ҳар ҷое, ки шумо як навъро истифода мебаред (дар эъломияҳо, генерикҳо ва casts навъҳоро дар бар мегирад), шумо метавонед онро бо эзоҳ ҳамроҳӣ кунед.

Синтаксиси эзоҳро нависед

Java 8 метавонад эзоҳҳои намудро дар ҳама гуна намуди истифода эълон кунад. Як мисол порчае дар зер аст:

@Маълумоти сатри рамзкунонидашуда; Рӯйхати сатрҳои <@NonNull String>; myGraph = ( @Графикаи тағирнопазир ) tmpGraph; Шумо метавонед танҳо як шарҳи навъи навро ҷорӣ кунед. Раванд ба муайян кардани эзоҳ бо ҳадафи ElementType.TYPE_PARAMETER, ҳадафи ElementType.TYPE_USE ё ҳарду ҳадаф монанд аст: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

Ҳадафи ElementType.TYPE_PARAMETER маънои онро дорад, ки шумо метавонед эзоҳро дар эъломияи тағирёбандаи навъи (масалан, синфи MyClass) нависед {….}). Element.Type.TYPE_USE маънои онро дорад, ки шумо метавонед эзоҳро дар ҳама гуна намуди истифода нависед (яъне намудҳо дар эъломияҳо, генерикҳо ва casts).

Шумо метавонед эзоҳҳоро дар файлҳои синф захира кунед, аммо он ба иҷрои барнома таъсир намерасонад ё таъсир намерасонад. Ҳамчун мисол, шумо метавонед ду тағирёбандаи файл ва пайвастеро, ки дар коди зер нишон дода шудааст, эълон кунед:

Файли файл = ….; @Encryted File encryptedFile = …; @Пайвастшавии кушода = …; Ҳангоми иҷрои барнома, натиҷа ҳамон хоҳад буд, агар шумо яке аз ин ду файлро ба усули send() пайваст кунед. пайвастшавӣ.фиристондан (файл); connection.send(encryptedFile);

 

Баъзе намунаҳои эзоҳҳои навъи

Рӯйхати @nonNull Рӯйхати <@NonNull String> str Массивҳои <@NonNegative Integer> навъбандӣ @файли файл @Encypted Пайвастшавӣ Пайвастшавӣ ботил divideInteger (int a, int b) мепартояд @ZeroDivisior ArithmeticException

 

Эзоҳ диҳед

Ин сомона ба воситаи Akismet барои кам кардани спам истифода мешавад. Омӯзед, ки чӣ тавр маълумотҳои худро тафтиш кунед.