我有一个像这样定义的类:
public class SymEncryptedData<VerifierType extends JSONable> implements JSONable {
// ...
public SymEncryptedData encrypt(Key key, byte[] payload, VerifierType verifier) {
// ...
}
}
其中JSONable
是一个接口。然后,我像这样创建一个实例:
SymEncryptedData<Verifier> symEncryptedData = new SymEncryptedData<Verifier>().encrypt(randomKey, PAYLOAD.getBytes(), VERIFIER);
有效,但我收到有关未选中分配的警告。这是为什么?我错过了什么?
答案 0 :(得分:3)
更改
public SymEncryptedData encrypt(Key key, byte[] payload, VerifierType verifier) {
到
public SymEncryptedData<VerifierType> encrypt(Key key, byte[] payload, VerifierType verifier) {
将原始值分配给参数化变量时,会收到未经检查的赋值警告。
答案 1 :(得分:2)
encrypt
返回原始类型SymEncryptedData
。添加类型参数,警告应该消失:
public SymEncryptedData<VerifierType> encrypt(Key key, byte[] payload, VerifierType verifier)