java/android 做题中整理的碎片小贴士(5)

1、可以用一个类,专门用来保存所有创建过的活动,然后一次全部删除(强制下线功能)。此类中定义一个ArrayList存放活动实例。在一个基类BaseActivity中的oncreate和ondestroy中分别对ArrayList使用add和remove。在通过Arraylist使其中的活动一一finish()掉之后,用clear()可以把列表中保存的空对象全部一起删除。

2、long a = 123L是对的,byte只有1字节(char才是两字节),可以表示2的8次方=256,但范围是-128~127,所以byte b = 128 是错的。

3、wait进入等待锁定池,要针对此对象执行了notify()方法后,才会获得对象锁进入“就绪”状态(注意不是运行状态)。wait是Object类的方法,而sleep是Thread类的方法。sleep不会放弃对象锁,而wait会。

4、InputStreamReader, BufferedReader, Writer都可以操作unicode。以为字符流=字节流+编码集,unicode是编码集,以上三个类都是字符流操作类。

5、Java提供的事件处理模型有三个要素,事件源、事件对象(对象是不可能没有对象的),事件监听器。

6、短路逻辑,比如一个if语句中有一对或条件,如果前面一个已经算出为真,就不必去计算第二个式子的真假了。所以如果在这里用了赋值语句,将造成达不到预期的结果。

7、用其他类的内部类实例化对象的操作:

InsideOne ei=eo.new InsideOne(); // 如果写了import语句的话

EnclosingOne.InsideOne ei=eo.new InsideOne();

8、Thread,Number和ClasLoader可被继承。Number类继承来的有Integer,Double,Long等。

9、子类虽然不能直接调用和修改父类的静态方法、私有方法和域,但是继承了。

10、ArrayList和LinkedList都实现List接口。ArrayList是一种数组,所以查询快,增删慢;LinkedList是一种链表,所以查询慢,增删快(反直觉)。Hashtable类,不允许null做键值。

 
 
原文地址:https://www.cnblogs.com/jason31/p/9561214.html