Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發點點滴滴——一些基礎的但有用的知識(3)

Android開發點點滴滴——一些基礎的但有用的知識(3)

編輯:關於Android編程

1.long型數據的計算

之前在寫到關於一個時間的小軟件時,System.currentTimeMillis()返回的是從1970年1月1日到現在的毫秒數,是long型的,需要給這個加上一個數字。 比如:

long curTime = System.currentTimeMillis();// 獲取當前時間
long deadLineTime  = curTime+(30*24*60*60*1000);
//long deadLineTime30day = curTime+(long)30*24*60*60*1000;

這樣計算出來的結果是不對的,因為30*24*60*60*1000這樣計算出來的結果默認是整型的常量,這個已經超出范圍了,所以會將這個截取成整型。如需正確結果,需要在這個數前加個強制轉換(long)

2.在list遍歷的時候用remove

在list用foreach遍歷的時候用list.remove()直接刪除,那麼會報錯,彈出這個異常ConcurrentModificationException。那麼如何在遍歷的時候刪除集合元素呢?

使用迭代器刪除

Iterator iterator = list.iterator();  
while(iterator .hasNext())
{  
    Object obj = iterator.next();
    //做判斷
    iterator.remove();
}

3.intent傳遞list

網上有很多方法,這種親測好用。 一般傳遞的不是int型或者string型的List,而是自定義的。那麼就需要這樣: 你要傳的集合類:List list intent.putExtra("lalala", (Serializable)list) ; 接受的時候用
list=(List) getIntent().getSerializableExtra("lalala"); 不過你的Object需要實現Serializable接口 ,基本上對於你的數據類不會做什麼改變(反正每次我就只是 implements Serializable,其他都沒變動^0^)

4.集合類排序

比如要給一個集合類List list 排序,那麼需要讓YourObject實現Comparable接口 然後實現compareTo方法。 比如按時間排序,YourObject裡有個date成員,是String型的,存儲的日期的字符串。那麼只需要在compartTo方法中這樣寫
@Override
	public int compareTo(YourObject another)
	{
		return date.compareTo(another.date);
		
	}
那麼List list 就可以調用sort方法 排序了。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved