如何理解在Java中创建连接在一起的类或方法的概念
我想知道Java中称为一次性示例的内部方法的概念如何理解在Java中创建连接在一起的类或方法的概念,java,Java,我想知道Java中称为一次性示例的内部方法的概念 Object ob = new Object().toString().charAt(0); 我的问题: 是toString()和charAt(0)类或方法是否使用点连接在一起 如果你理解我糟糕的语法,我不知道如何问这些问题。请帮助我。这些方法中的每个方法都返回一个对象,你只是将调用链接到下一个对象中 相当于 char c = new Object().toString().charAt(0); 代码如下: Object obj = new
Object ob = new Object().toString().charAt(0);
我的问题:
是toString()
和charAt(0)代码>类或方法是否使用点连接在一起
如果你理解我糟糕的语法,我不知道如何问这些问题。请帮助我。这些方法中的每个方法都返回一个对象,你只是将调用链接到下一个对象中
相当于
char c = new Object().toString().charAt(0);
代码如下:
Object obj = new Object();
String objectStr = obj.toString();
char c = objectStr.charAt(0);
它被称为“流畅的接口”或方法链接。我们可以通过返回对象本身来实现这一点。到处使用的fluentapi基本示例是Builder类
在Java中,可选类或流api是fluent api的一个示例
下面是一个具有fluend方法的示例生成器类:
class ObjectBuilder {
private SomeObject someObject = new SomeObject();
public ObjectBuilder withPropertyX(int x) {
someObject.setPropertyX(x);
return this;
}
public ObjectBuilder withPropertyY(String y) {
someObject.setPropertyY(y);
return this;
}
public SomeObject build() {
return someObject;
}
}
ObjectBuilder builder = new ObjectBuilder();
SomeObject someObject = builder.withPropertyX(5).withPropertyY("test").build();
流api的另一个示例:
List<String> students = new ArrayList();
students.add("alice");
students.add("jack");
students.add("john");
students.stream()
.map(String::toUpperCase)
.forEach(System.out::println);
List students=new ArrayList();
学生。加上(“爱丽丝”);
学生。加上(“杰克”);
学生。加上(“约翰”);
学生们。stream()
.map(字符串::toUpperCase)
.forEach(System.out::println);
这些方法中的每个方法都返回一个对象,您只是将调用链接到下一个对象中。每个对象都有自己的一组可调用的方法。请注意,返回类型void不是一个对象,并且没有可调用的方法(不是在您的示例中,但它会断开链),谢谢您的帮助。你给我的有用信息。