java非静态方法返回当前实例引用

今天在写一个工具类时想为使用者提供一个更加方便简单的操作,就是可以在一条语句中多次执行同一个实例的多个方法,比如:

new MyCalss().add(12).add(2).add(4).add(5)

类似这样的,刚开始打算用静态却发现不能解决多个实例的问题。后来无意中查看到一些开源框架的代码中有这样的操作,比如JSONlib中的JSONBuilder类,就可以这样操作,查看源码发现可以在方法中直接使用return this;来返回当前实例,呵呵,不错,这样一来问题就好办很多了~~

比如我想在一个类中提供使用者多次来添加一个字符串,那么就可以这样做:

package common.utils;

public class MyTest
{
    private List<String> array;

    public MyTest()
    {
        this.array = new ArrayList<String>();
    }

    public MyTest add(String value)
    {
        this.array.add(value);
        return this;
    }

    public static void main(String[] args)
    {
        new MyTest().add("你好!").add("大家好!").add("世界好!");
    }
}

主要是代码中红色的这一段,通过return this;来返回当前实例的引用!这样我们就可以应用这样的特性来做更多有趣的处理~~~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwzpz.html