AFAIK, können Sie die unkontrollierte Warnung nicht vermeiden, wenn ein Klassenname wörtlichen beteiligt ist, und die SuppressWarnings
Anmerkung ist der einzige Weg, dies zu umgehen.
Beachten Sie, dass es eine gute Form ist, den Umfang der SuppressWarnings
Annotation so weit wie möglich einzuschränken. Sie können diese Anmerkung zu einem einzigen lokalen Variablen Zuordnung gelten:
public void testSomething() {
@SuppressWarnings("unchecked")
Foo<Integer> foo = EasyMock.createMock(Foo.class);
// Rest of test method may still expose other warnings
}
oder eine Hilfsmethode verwenden:
@SuppressWarnings("unchecked")
private static <T> Foo<T> createFooMock() {
return (Foo<T>)EasyMock.createMock(Foo.class);
}
public void testSomething() {
Foo<String> foo = createFooMock();
// Rest of test method may still expose other warnings
}
Die Syntax sollte wohl sein: private static Schnittstelle SomeClass_Integer erweitert Someclass {} Ich habe das gleiche Problem, und das ist die Arbeit um ich so der Ansatz verwenden wird funktionieren. Aber ich hoffe, jemand hat die Antwort, die wir suchen. –