IP工具类:

//获取本机所有IP地址
public class IpUtil {
	public static List<String> getLocalIPList() {
        List<String> ipList = new ArrayList<String>();
        try {
            Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            NetworkInterface networkInterface;
            Enumeration<InetAddress> inetAddresses;
            InetAddress inetAddress;
            String ip;
            while (networkInterfaces.hasMoreElements()) {
                networkInterface = networkInterfaces.nextElement();
                inetAddresses = networkInterface.getInetAddresses();
                while (inetAddresses.hasMoreElements()) {
                    inetAddress = inetAddresses.nextElement();
                    if (inetAddress != null && inetAddress instanceof Inet4Address) { // IPV4
                        ip = inetAddress.getHostAddress();
                        ipList.add(ip);
                    }
                }
            }
        } catch (SocketException e) {
            e.printStackTrace();
        }
        return ipList;
    }
}

测试类:

List<String> ip = IpUtil.getLocalIPList();
System.out.println("本机Ip为:"+ip);

输出结果为:
Java之获取本机所有IP_所有Ip
之后经过测试发现,如果仅获取IPv4,可以直接用JDK获取:

System.out.println("本机IPv4为:"+InetAddress.getLocalHost().getHostAddress());

输出结果为:
Java之获取本机所有IP_所有Ip_02