Android Java方法链起来!链式调用方法、仿Builder 等。
来源:互联网 发布:车铣中心自动编程 编辑:程序博客网 时间:2024/05/16 11:03
例子:
1.普通的bean
package com.louisgeek.louischainingmethod;/** * Created by louisgeek on 2016/8/1. */public class NewsBean { private int newsID; private String newsTitle; private String newsContent; @Override public String toString() { return "NewsBean{" + "newsID=" + newsID + ", newsTitle='" + newsTitle + '\'' + ", newsContent='" + newsContent + '\'' + ", newsImgUrl='" + newsImgUrl + '\'' + '}'; } private String newsImgUrl; public int getNewsID() { return newsID; } public void setNewsID(int newsID) { this.newsID = newsID; } public String getNewsTitle() { return newsTitle; } public void setNewsTitle(String newsTitle) { this.newsTitle = newsTitle; } public String getNewsContent() { return newsContent; } public void setNewsContent(String newsContent) { this.newsContent = newsContent; } public String getNewsImgUrl() { return newsImgUrl; } public void setNewsImgUrl(String newsImgUrl) { this.newsImgUrl = newsImgUrl; }}
2.简单的改变:
package com.louisgeek.louischainingmethod;/** * Created by louisgeek on 2016/8/1. */public class NewsBean_Chaining { private int newsID; private String newsTitle; @Override public String toString() { return "NewsBean_Chaining{" + "newsID=" + newsID + ", newsTitle='" + newsTitle + '\'' + ", newsContent='" + newsContent + '\'' + ", newsImgUrl='" + newsImgUrl + '\'' + '}'; } private String newsContent; private String newsImgUrl; public int getNewsID() { return newsID; } public NewsBean_Chaining setNewsID(int newsID) { this.newsID = newsID; return this; } public String getNewsTitle() { return newsTitle; } public NewsBean_Chaining setNewsTitle(String newsTitle) { this.newsTitle = newsTitle; return this; } public String getNewsContent() { return newsContent; } public NewsBean_Chaining setNewsContent(String newsContent) { this.newsContent = newsContent; return this; } public String getNewsImgUrl() { return newsImgUrl; } public NewsBean_Chaining setNewsImgUrl(String newsImgUrl) { this.newsImgUrl = newsImgUrl; return this; }}
3.仿AlertDialog.Builder
package com.louisgeek.louischainingmethod;/** * Created by louisgeek on 2016/8/1. */public class NewsBean_Builder { private int newsID; private String newsTitle; private String newsContent; private String newsImgUrl;//public int getNewsID() { return newsID;} public void setNewsID(int newsID) { this.newsID = newsID; } public String getNewsTitle() { return newsTitle; } public void setNewsTitle(String newsTitle) { this.newsTitle = newsTitle; } public String getNewsContent() { return newsContent; } public void setNewsContent(String newsContent) { this.newsContent = newsContent; } public String getNewsImgUrl() { return newsImgUrl; } public void setNewsImgUrl(String newsImgUrl) { this.newsImgUrl = newsImgUrl; } // @Override public String toString() { return "NewsBean_Builder{" + "newsID=" + newsID + ", newsTitle='" + newsTitle + '\'' + ", newsContent='" + newsContent + '\'' + ", newsImgUrl='" + newsImgUrl + '\'' + '}'; }////// private NewsBean_Builder(Builder builder) { this.newsID = builder.newsID; this.newsTitle = builder.newsTitle; this.newsContent = builder.newsContent; this.newsImgUrl = builder.newsImgUrl; } // public static class Builder{ private int newsID; private String newsTitle; private String newsContent; private String newsImgUrl; public Builder newsID(int newsID) { this.newsID = newsID; return this; } public Builder newsTitle(String newsTitle) { this.newsTitle = newsTitle; return this; } public Builder newsContent(String newsContent) { this.newsContent = newsContent; return this; } public Builder newsImgUrl(String newsImgUrl) { this.newsImgUrl = newsImgUrl; return this; } //// public NewsBean_Builder build(){ return new NewsBean_Builder(this); } }}
使用对比:
package com.louisgeek.louischainingmethod;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NewsBean newsBean=new NewsBean(); newsBean.setNewsID(1); newsBean.setNewsTitle("TITLE1"); newsBean.setNewsContent("CONTENT1"); newsBean.setNewsImgUrl("IMAGEURL1"); Log.d(TAG, "onCreate: newsBean:"+newsBean.toString()); NewsBean_Chaining newsBean_chaining=new NewsBean_Chaining(); newsBean_chaining.setNewsID(2) .setNewsTitle("TITLE2") .setNewsContent("CONTENT2") .setNewsImgUrl("IMAGEURL2"); Log.d(TAG, "onCreate: newsBean_chaining:"+newsBean_chaining.toString()); NewsBean_Builder.Builder news_B_Builder=new NewsBean_Builder.Builder(); NewsBean_Builder newsBean_B=news_B_Builder.newsID(3) .newsTitle("TITLE3") .newsContent("CONTENT3") .newsImgUrl("IMAGEURL3") .build(); Log.d(TAG, "onCreate: newsBean_B:"+newsBean_B.toString()); //newsBean_B.getNewsContent() }}
https://github.com/louisgeek/LouisChainingMethod
0 0
- Android Java方法链起来!链式调用方法、仿Builder 等。
- Android总结之链式调用(方法链)
- setter方法实现链式调用(Android studio、Idea、WebStorm等JetBrains公司的产品)
- js方法链式调用
- Android Builder模式分析(链式调用)
- Java链式方法
- Java链式方法
- javascript方法的链式调用
- 方法链式调用的实现
- c++ 调用java等方法关键点
- “链式调用(方法链)”的概念与误区
- JavaScript设计模式 --- 方法的链式调用
- JavaScript设计模式:方法的链式调用
- Android JavaScript调用Java 方法
- android AlertDialog.Builder dismisss方法
- android中webview调用js方法,js调用java方法
- 在非VS环境下C++ Builder,Delphi,VC,VB等调用C#开发的DLL的完整方法
- android C调用JAVA的方法
- 字符串做函数参数
- 使用css需要注意的一些细节
- NOIP2013提高组 火柴排队(重庆一中高2018级信息学竞赛测验6) 解题报告
- poj2676
- Apache POI(4):字体(font)
- Android Java方法链起来!链式调用方法、仿Builder 等。
- google调试时 js格式化
- MySQL-5.6.13免安装版配置方法
- 数据结构实验之链表六:有序链表的建立
- NOIP2013提高组 火柴排队 (逆序对+特殊映射)
- C++类对象之间复制,拷贝构造函数的作用,深拷贝与浅拷贝
- JDBC之基本操作增删查改
- Java中String类两种实例化的区别
- 如何关闭notification的震动