gpt4 book ai didi

Java 8 "Missing return type"lambda 表达式错误

转载 作者:行者123 更新时间:2023-12-01 18:02:44 25 4
gpt4 key购买 nike

我是 Java 8 的新手,正在尝试理解这些概念。我正在得到

Missing return type

我传递给 ReadTheFile 方法的 Lambda 表达式出现错误。

BufferReaderProcessor

package java8.programs;

import java.io.BufferedReader;
import java.io.IOException;

@FunctionalInterface
public interface BufferReadderProcessor {
String process(BufferedReader br) throws IOException;
}

MainJava

package java8.programs;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class MainJava {
public static void main(String[] args) throws IOException {
MainJava obj = new MainJava();

String message = obj.ReadTheFIle((BufferedReader br) -> {
while (br.readLine()!=null)
br.readLine();
});
System.out.println(message);
}

public String ReadTheFIle(BufferReadderProcessor bp) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(new File("G:\\DemoJavaFile.txt")));

return bp.process(br);
}
}

最佳答案

您的 lambda 表达式实现了 BufferReaderProcessorString process(BufferedReader br) 方法,因此它应该返回一个 String

例如,假设您希望返回从 BufferedReader 读取的数据:

    String message = obj.ReadTheFIle((BufferedReader br) -> {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
return sb.toString();
});

关于Java 8 "Missing return type"lambda 表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com