localAddressList 添加重构方法

This commit is contained in:
bwcx_jzy 2022-06-26 19:50:23 +08:00
parent 98590cb895
commit 55d9bb8602
No known key found for this signature in database
GPG Key ID: 5E48E9372088B9E5

View File

@ -429,6 +429,17 @@ public class NetUtil {
* @since 4.5.17
*/
public static LinkedHashSet<InetAddress> localAddressList(Filter<InetAddress> addressFilter) {
return localAddressList(null, addressFilter);
}
/**
* 获取所有满足过滤条件的本地IP地址对象
*
* @param addressFilter 过滤器null表示不过滤获取所有地址
* @param networkInterfaceFilter 过滤器null表示不过滤获取所有网卡
* @return 过滤后的地址对象列表
*/
public static LinkedHashSet<InetAddress> localAddressList(Filter<NetworkInterface> networkInterfaceFilter, Filter<InetAddress> addressFilter) {
Enumeration<NetworkInterface> networkInterfaces;
try {
networkInterfaces = NetworkInterface.getNetworkInterfaces();
@ -444,6 +455,9 @@ public class NetUtil {
while (networkInterfaces.hasMoreElements()) {
final NetworkInterface networkInterface = networkInterfaces.nextElement();
if (networkInterfaceFilter != null && false == networkInterfaceFilter.accept(networkInterface)) {
continue;
}
final Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses();
while (inetAddresses.hasMoreElements()) {
final InetAddress inetAddress = inetAddresses.nextElement();