java String.split("\\.");
用String.split(".“);不行 必须要进行转码
List 中的equal。
api中是这样描述的:
boolean equals(Object o)
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List<Test1> l1 = new ArrayList<Test1>(); l1.add(new Test1()); List<Test1> l2 = new ArrayList<Test1>(); l2.add(new Test1()); // l2.add("a"); System.out.println(l1.equals(l2)); } static class Test1{ int t; @Override public boolean equals(Object obj) { // TODO Auto-generated method stub return true; } }
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List<Test1> l1 = new ArrayList<Test1>(); l1.add(new Test1()); List<Test1> l2 = new ArrayList<Test1>(); l2.add(new Test1()); // l2.add("a"); System.out.println(l1.equals(l2)); } static class Test1{ int t; // @Override // public boolean equals(Object obj) { // // TODO Auto-generated method stub // return true; // } }
java 初始化导致的问题。
先看下面一段代码,能够看出问题么?
class BusinessHomeTopNews extends UIHelp{ private static final String TAG = "businessHome"; public static final String JUMP_TYPE ="jump_type"; public BusinessHomeTopNews(Activity activity){ super(activity); if(adapter ==null){ System.out.println("BusinessHomeTopNews adapter is null"); //很莫名其妙,此处为空值 } } private TopNewsPagerAdapter adapter =null; private List<TopNewsInfo> listTop= new ArrayList<TopNewsInfo>(); private TopNewsViewPagerControl pagerControl; public void init(){ ViewPager pager = (ViewPager)activity.findViewById(R.id.main_pager2); LinearLayout linearPosition = (LinearLayout)activity.findViewById(R.id.position_linear2); pagerControl = new TopNewsViewPagerControl(activity, pager, linearPosition); System.out.println(listTop.size()); //此处 adapter = new TopNewsPagerAdapter(listTop, activity); pagerControl.setAdapter(adapter); } }
public abstract class UIHelp { protected Activity activity; public UIHelp(Activity activity){ this.activity = activity; init(); } public abstract void init(); }在打印listTop.size() 的时候会爆空指针错误。为什么呢?
且看初始化顺序:UIHelp() ->init() (调用子类的init'()) -> 然后对BusinessHomeTopNews 的子成员进行初始化(执行listTop = new ArrayList<TopNewsInfo>() -> 调用BusinessHomeTopNews 的构造函数.
看看这顺序就知道为什么会爆空指针错误了。