!665 localAddressList 添加重构方法

Merge pull request !665 from 不忘初心/v5-dev
This commit is contained in:
Looly 2022-06-26 15:38:23 +00:00 committed by Gitee
commit 1be5c84143
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

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();