自己写的,有错请告知。
main:
public class FunctionDemo9 {
public static void main(String[] args) {
/*
* 需求:
* 创建集合添加学生对象
* 学生对象属性:name,age
* 要求:
* 把姓名和年龄拼接成:张三-23的字符串,并放到数组当中
* 使用方法引用完成
* */
ArrayList<Student> list=new ArrayList<>();
list.add(new Student("zhangsan",23));
list.add(new Student("lisi",24));
list.add(new Student("wangwu",25));
/* String[] array = list.stream().map(new Function<Student, String>() {
@Override
public String apply(Student student) {
String name = student.getName();
int age = student.getAge();
return name + "-" + age;
}
}).toArray(String[]::new);*/
String[] array = list.stream().map(Student::toSpringJ).toArray(String[]::new);
System.out.println(Arrays.toString(array));
//[zhangsan-23, lisi-24, wangwu-25]
}
}
Student:
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String s) {
this.name = s.split(",")[0];
this.age = Integer.parseInt(s.split(",")[1]);
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "Student{name = " + name + ", age = " + age + "}";
}
public static String toSpringJ(Student student) {
StringJoiner sj=new StringJoiner("","","");
sj.add(student.getName()).add("-").add(Integer.toString(student.getAge()));
return sj.toString();
}
public static String toSpring(Student student) {
String name = student.getName();
int age = student.getAge();
return name + "-" + age;
}
}