日食から警告が表示され、抑制警告で削除できることはわかっていますが、それがnullになる可能性がある理由を理解したいと思います。
パッケージ情報.java
@ParametersAreNonnullByDefault
package test;
import javax.annotation.ParametersAreNonnullByDefault;
test.java
package test;
public class Test {
public static void main( final String[ ] args ) {
System.out.println( new Test( "a" ).getS( ) );
}
private final String s;
public Test( final String s ) {
this.s = s;
}
public String getS( ) {
return this.s;//Null type safety: The expression of type String needs unchecked conversion to conform to '@Nonnull String'
}
}
この警告が表示される理由がわかりません...
PS:
public Test( @Nonnull final String s ) {
-> nullness アノテーションは、この場所に適用されるデフォルトで冗長です
@Nonnull private final String s;
→何も変わらない