Java 8 lambda 表达式10个示例
有用的Java8代码片段
# 将InputStream转换为字符串
public static String convertInputStreamToString(final InputStream in) throws IOException {
ByteArrayOutputStream result = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) != -1) {
result.write(buffer, 0, length);
}
return result.toString(StandardCharsets.UTF_8.name());
}
# 将文件内容读入字符串
public String readFileAsString(Path path) throws IOException {
return new String(Files.readAllBytes(path));
}
# 获取当前工作目录
public static String getCurrentWorkingDirectoryPath() {
return FileSystems.getDefault().getPath("").toAbsolutePath().toString();
}
# 将异常堆栈跟踪转换为字符串
public static String stackTraceAsString(final Throwable throwable) {
final StringWriter sw = new StringWriter();
throwable.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
高质量的 Java 8 中文内容
不可或缺的 Java 8 开源项目
什么是Lambda? 什么是函数式接口?Lambda表达式有什么作用?
Java8的核心特性
Lambda表达式
函数式接口
方法引用
Java 8 Stream 教程
Java 8 并行流
Optional
接口默认方法