SargerasWang's Blog

我常常思考为什么鸟儿拥有整片天空,却常常停留在一个地方。然后我问了自己同样的问题。

树洞App 隐私政策

树洞app尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,树洞app会按照本隐私权政策的规定使用和披露您的个人信息。但树洞app将以高度的勤勉、审慎义务对待这些信息。

除本隐私权政策另有规定外,在未征得您事先许可的情况下,树洞app不会将这些信息对外披露或向第三方提供。树洞app会不时更新本隐私权政策。

您在同意树洞app服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于树洞app服务使用协议不可分割的一部分。

Java 链式调用的正确姿势

Google 上搜索”java链式调用”前两名的大哥用的例子是一样的,并且不正确.

他们代码中build出来的并不是Student,而是一个Builder.

这里的链式调用(链式编程),是设计模式中的Builder模式,要点就是通过一个代理来完成对象的构建过程。这个代理职责就是完成构建的各个步骤,同时它也是易扩展的。

如下类似代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Response {
    private final Integer status;
    private final String message;
    private final Object result;

    public Response(Builder builder) {
        this.status=builder.status;
        this.message=builder.message;
        this.result=builder.result;
    }

    public static class Builder{
        private Integer status;
        private String message;
        private Object result;

        public Response build(){
            return new Response(this);
        }
        public Builder withStatus(Integer status){
            this.status=status;
            return this;
        }
        public Builder withMessage(String message){
            this.message = message;
            return this;
        }
        public Builder withResult(Object result){
            this.result = result;
            return this;
        }
    }
}

调用时如下方式:

1
2
3
4
5
Response response = new Response.Builder()
  .withStatus(1)
  .withMessage("请求成功")
  .withResult(XXX)
  .build();