配列のダウンキャストがどのように機能するかわかりません。
これが機能する例:
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));
where F
is
public F(X509Certificate certificate, X509Certificate[] certificateChain, PrivateKey privateKey) {
}
私は得るClassCastException
java.lang.ClassCastException: [Ljava.security.cert.Certificate; [Ljava.security.cert.X509Certificate と互換性がありません。
なんで?