我不确定数组的向下转换是如何工作的。
这个工作的例子:
String[] sArray = {"a", "b"};
Object[] o = sArray;
f((String[]) o);
static void f(String[] s){
System.out.println("Ok");
}
但对于以下情况:在
new F(cert, (X509Certificate[]) ks.getCertificateChain("ALIAS"), key));
哪里F
public F(X509Certificate certificate, X509Certificate[] certificateChain, PrivateKey privateKey) {
}
我明白了ClassCastException
java.lang.ClassCastException:[Ljava.security.cert.Certificate; 与 [Ljava.security.cert.X509Certificate 不兼容;
为什么?