【发布时间】:2019-12-19 22:30:51
【问题描述】:
我想转换以下代码以使用 Lambda 和 Streams 和/或任何其他 Java 8 功能。
我是 Java 8 的新手,并尝试将以下代码转换为 Java 8,但找不到任何适合我的场景的函数,如“forEach”。
private String getMacAddress() {
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
logger.log(LogLevel.LEVEL_INFO,"Current IP address : " + ip.getHostAddress());
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
logger.log(LogLevel.LEVEL_INFO,"Current MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
return sb.toString();
} catch (UnknownHostException e) {
logger.log(LogLevel.LEVEL_ERROR,e.getMessage());
} catch (SocketException e){
logger.log(LogLevel.LEVEL_ERROR,e.getMessage());
}
}
【问题讨论】: