如何理解在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

我想知道Java中称为一次性示例的内部方法的概念

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不是一个对象,并且没有可调用的方法(不是在您的示例中,但它会断开链),谢谢您的帮助。你给我的有用信息。