Clàr-innse
Seòrsa notaichean ann an Java
Le toirt a-steach Java 8, tha an dreach air dà fheart ùr a thoirt a-steach ris an canar ath-aithris notaichean agus notaichean seòrsa. Gu ruige seo, nam biodh tu airson notaichean a chleachdadh ann an Java, cha b’ urrainn dhut sin a dhèanamh ach anns na dearbhaidhean. Le Java 8, faodaidh tu a-nis notaichean a chuir ri cleachdadh de sheòrsa sam bith. Ge bith càite a bheil thu a’ cleachdadh seòrsa (a’ gabhail a-steach seòrsaichean ann an dearbhaidhean, generics, agus casts), faodaidh tu an cois sin le nota.
Seòrsa Annotation Syntax
Faodaidh Java 8 notaichean seòrsa fhoillseachadh air cleachdadh de sheòrsa sam bith. Is e aon eisimpleir am pìos gu h-ìosal:
dàta @Encrypted String; Liosta <@NonNull String> teudan; myGraph = ( @Immutable Graph ) tmpGraph; Faodaidh tu dìreach nota seòrsa ùr a thoirt a-steach. Tha am pròiseas coltach ri bhith a' mìneachadh nota leis an targaid ElementType.TYPE_PARAMETER, ElementType.TYPE_USE, no an dà thargaid: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) poblach @interface Encrypted { }
Tha an targaid ElementType.TYPE_PARAMETER a’ comharrachadh gun urrainn dhut an nota a sgrìobhadh air dearbhadh caochladair seòrsa (m.e. clas MyClass {….}). Tha an Element.Type.TYPE_USE a’ comharrachadh gun urrainn dhut an nota a sgrìobhadh air seòrsa cleachdaidh sam bith (is e sin seòrsaichean ann an dearbhaidhean, coitcheann agus cas).
Faodaidh tu notaichean a shàbhaladh ann am faidhlichean clas, ach chan eil e a’ toirt buaidh no a’ toirt buaidh air coileanadh a’ phrògraim. Mar eisimpleir, faodaidh tu dà chaochladair faidhle ainmeachadh agus ceangal mar a chithear sa chòd gu h-ìosal:
Faidhle faidhle = ….; @Encryted File encryptedFile = …; Ceangal @Open Connection = …; Fhad 's a tha thu a' cur an gnìomh a' phrògraim, bidh an toradh mar an ceudna ma thèid thu seachad air aon den dà fhaidhle gu modh cur() a' cheangail. connection.send(faidhle); connection.send(encryptedFile);
Cuid de eisimpleirean de notaichean seòrsa
@nonNull Liosta Liosta <@NonNull String> str Arrays <@NonNegative Integer> seòrsa @Encypted File faidhle @Open Connection connection void divideInteger (int a, int b) a’ tilgeil @ZeroDivisior ArithmeticException
0 Beachdan