我需要有效地确定一个
InetSocketAddress
是IPv6还是IPv4。我能想到的只有两种方法:使用instanceof
运算符或检查getAddress()
(应该返回一个byte[]
)的长度。这两种方法都不太理想(instanceof
很慢,而getAddress
需要复制数组)。是否有更好的替代方案?
instanceof
可能没有你想象的那么慢。个人认为,除非你已经对应用程序进行了分析,并且它报告instanceof
占用了> 5%的运行时间,否则我会推迟优化instanceof
。 - Alistair A. Israel