为什么在获取套接字工厂时我们必须将 ssl 工厂实例强制转换为同一类?
SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
为什么不这样做呢?getDefault()
不是不返回类的实例吗?
SSLSocketFactory factory = SSLSocketFactory.getDefault();
这是因为SSLSocketFactory的getDefault
方法不返回SSLSocketFactory
,而是返回SocketFactory
。
在此处查看getDefault
方法的返回类型:https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLSocketFactory.html