我有这样一堂课:
public class Subject extends Entitet{
private String personalID;
private String name;
private Integer ECTS;
private Profesor subjectBearer;
private Set<Student> students;
//all getters and seters
在主要我已经创建了一个包含所有主题的列表。
List<Subjet> subjets= new ArrayList<>();
现在我想打印所有参加课程的学生的所有科目名称。
我试过这样的方法,但它给了我错误:
参数类型字符串void的运算符未定义
subjets.stream()
.forEach(subj-> System.out.println(subj.getSubjectBearer().getName()+ " " + subj.getSubjectBearer().getLastName()+" "+
subj.getStudents().stream()
.forEach(stud->System.out.println(stud.getName()+" "+stud.getLastName()))
)
);
我不知道如何使第二个流返回每个学生的firstName
和lastName
的字符串。我可以将它映射到字符串,然后以某种方式收集它吗?第一个流中的类似内容?
subj.getStudents().stream()
.map(stud->(stud.getFirstName()+ stud.getLastName() )
.collect(Collectors.toString())
forEach方法id是void的类型。把你的陈述分成两部分。
subjets.stream()
.forEach(subj-> {System.out.println(subj.getSubjectBearer().getName()+ " " + subj.getSubjectBearer().getLastName());
subj.getStudents().stream()
.forEach(stud->System.out.println(stud.getName()+" "+stud.getLastName()))
)
});
由于您正在使用以下命令,因此出现了操作员错误:-
主语。GetSubjectBearner()。getLastName()“”sub。getStudents()。stream()。forEach(螺柱)-
操作员正在处理字符串和空格,因为第二部分创建学生流,然后处理它,没有返回任何字符串。
这是因为forEach
不会产生任何结果(返回void)。因此,当您希望将某个内容连接到主题名称时,学生的第二个forEach
将不会返回任何内容。
您可以选择:
返回所有学生的字符串
subjets.stream()
.forEach(subj-> System.out.println(
subj.getSubjectBearer().getName()+ " " +
subj.getSubjectBearer().getLastName()+" "+
subj.getStudents().stream()
.map(stud->stud.getName()+" "+stud.getLastName())
.collect(Collectors.joining(","))
));
或者打印名称而不进行连接:
subjets.stream()
.forEach(subj-> {
System.out.println(subj.getSubjectBearer().getName()+ " " + subj.getSubjectBearer().getLastName());
subj.getStudents().stream()
.forEach(stud->System.out.println(stud.getName()+" "+stud.getLastName()))
});
这是一个非常基本的问题,我很确定我做错了什么,或者做了一些假设。开始了。 我正在写一个Jira插件,它使用Velocity模板系统。我有一个ResultRow对象列表,其中ResultRow是一个具有单个成员变量的类:String key: 结果和预期的一样:com.domain.jira.resultRow@7933F2C6。 我想我可能错过了课堂上的一些要求。是否需要以某种特殊的方式定义,以建
请帮助将此类型打印为格式?
我正在寻找为json对象中的所有字段打印jsonpath的Java API。需求的第一部分是,对于给定的json对象(或字符串)- 它应该以key-value的方式打印所有属性,其中key是字段的jsonpath。 输出应该如下所示- 等等。这将用于匹配来自另一个json对象的值(我的第二个需求)。 我找到了一个APIhttps://github.com/json-path/JsonPath,它有
问题内容: 好吧,这个交互式的python控制台代码段将告诉一切: 基本上,我想在打印列表时打印三个字符串。我也尝试过,但结果相同。 问题答案: 尝试: 并阅读此文档链接:
问题内容: 我是Java的新手。我说,我有一个类 人 。我要列印 上面的代码给出如下输出: 这有什么意义? 该对象是否具有某种唯一标识? 我可以自定义吗?我的意思是编写自己的函数,该函数在打印时会输出? 如果是这样,我该怎么做? 问题答案: 如果要打印任何对象的有意义的内容,则必须实现自己的方法,该方法将覆盖parent()类的方法。默认情况下,所有类(无论您创建什么)都扩展类。 样例代码: 输出
使用 Photoshop,您可以打印任何兼容的 3D 模型,而无需担心 3D 打印机的限制。在准备打印时,Photoshop 会自动使 3D 模型防水。Photoshop 还会生成必要的支撑结构(支架和底座),以确保您的 3D 打印能够成功完成。 准备打印 3D 对象 选择“窗口”>“工作区”>“3D”以切换到 3D 工作区。 在 Photoshop 中打开 3D 模型。如果需要,请在打开 3D