"Effective Java 2nd Edition" Maruzen Publishing
Annotation (Englisch: Annotation) dient zum Hinzufügen verwandter Informationen (Metadaten) zu bestimmten Daten als Annotation.
[Annotation-Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%8E%E3%83%86%E3%83%BC%E3%82%B7% E3% 83% A7% E3% 83% B3) Zitat
Eingeführt von Java 5 (veröffentlicht im Jahr 2004)
CalculationTest.java
public class CalculationTest {
/**Testfall 1*/
@Test
public void sampleTest1() {
//...
}
/**Testfall 2*/
@Test
public void sampleTest2() {
//...
}
}
@ Test
@ Test
ausCalculationTest.java
public class CalculationTest extends TestCase{
/**Testfall 1*/
public void testSample1() {
//...
}
/**Testfall 2*/
public void testSample2() {
//...
}
}
Zeigt an, dass es sich um eine Testklasse handelt, indem "TestCase" geerbt wird
Der Methodenname, der zum Testfall wird, beginnt mit test
⇒ Namensmuster
Http://d.hatena.ne.jp/smada564/20110501/1304265351 Referenz
Stellen Sie sich beispielsweise eine Testmethode vor, die erwartet, dass eine "IllegalArgumentException" ausgelöst wird.
/**Wie schreibe ich JUnit4*/
@Test(expected = IllegalArgumentException.class)
public void sample() {
//...
}
/**Beispiel, wenn Annotation nicht verwendet werden kann*/
public void test_IllegalArgumentException_sample() {
//...
}
Servlet kann entweder mit Annotation oder XML festgelegt werden.
@WebServlet("/Hello")
public class HelloServlet extends HttpServlet {
//...
}
web.xml
<!--Wenn Sie keine Anmerkungen verwenden, geben Sie dies in XML an-->
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>jp.co.sample.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
Merkmale von Anmerkungen im Vergleich zu XML
⇒ ** Stark gegen Quellenänderungen **
@Override
Eine Anmerkung, die angibt, dass die Methode überschrieben wird.
Book.java
public class Book {
public Book(String title, String author) {
this.title = title;
this.author = author;
}
String title;
String author;
@Override //Compile Error.Richtig gleich(Object obj)
public boolean equals(Book obj) {
//Nullprüfung weglassen
return title.equals(obj.title) && author.equals(obj.author);
}
}
Beachten Sie beim Kompilieren, dass es nicht überschrieben (überladen) wird.
@Deprecated
In Java9 können Sie "@Deprecated (da =" 9 ", forRemoval = true)" schreiben
Wird es abgeschafft? (zum Entfernen)
Wann wird es abgeschafft? (schon seit)
@SuppressWarnings
Lassen Sie die IDE Warnmeldungen unterdrücken.
@SuppressWarnings( "unchecked" ) //Schließen Sie Warnungen zur Typprüfung aus
@SuppressWarnings( "javadoc" ) //Ausschluss von JavaDoc-Warnungen
public class Book {
//..
}
http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-MA14-Architect-TypeAnnotations.pdf http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-MA16-Annotations.pdf
Recommended Posts