Cool
Cool
Published on 2022-05-31 / 47 Visits
0
0

Java 创建一个链式调用的类(实现类似于StringBuilder的效果)

package com.liang.fastservice.test;

public class MyChained {
    String str;

    public static MyChained create() {
        return new MyChained();
    }

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        this.str = str;
    }

    MyChained append(String str) {
        if (this.str==null){
            this.str=str;
        }else {
            this.str = this.str + str;
        }
        return this;
    }
}

调用

package com.liang.fastservice.test;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.LineHandler;
import cn.hutool.core.io.StreamProgress;
import cn.hutool.core.io.file.Tailer;
import cn.hutool.core.lang.Console;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.swing.clipboard.ClipboardUtil;
import cn.hutool.core.thread.ConcurrencyTester;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.DesensitizedUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.RuntimeUtil;
import cn.hutool.extra.ftp.SimpleFtpServer;
import cn.hutool.extra.tokenizer.Result;
import cn.hutool.extra.tokenizer.TokenizerEngine;
import cn.hutool.extra.tokenizer.TokenizerUtil;
import cn.hutool.extra.tokenizer.Word;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.hutool.script.ScriptUtil;
import cn.hutool.system.SystemUtil;

import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import java.util.*;

public class Test19 {
    public static void main(String[] args) {

        MyChained append = MyChained.create().append("6").append("7");
        System.out.println(append.getStr());

    }

}

输出结果

Snipaste_2022-05-31_18-21-36.png


Comment