我想要一种方法来处理实现特定接口的任何类型的列表。
public interface Encryptable {
public void encrypt() throws Exception ;
}
class DomainClass implements Encryptable {
String name ;
public void encrypt() throws Exception {
try {
name = CryptoUtils.encrypt(name);
}
}
}
此实用程序方法可以加密任何实现 Encryptable 的域类的列表。
public static void encryptList ( Collection<? extends Encryptable> listToEncrypt ) {
for ( Encryptable objToEncrypt: listToEncrypt ) {
try {
objToEncrypt.encrypt() ;
} catch (Exception e) {
}
}
}
我写了一个测试应用程序,这似乎工作。我关心的是Java关键字'extends'。我的类不扩展 Encryptable 他们实现它。我写的东西真的有效吗,还是我是做错事但得到正确答案的某种副作用的受害者。