發現個問題
須要把 掃描到的 barCode 暫存起來
並且存下來的值不重複
對於一個 php 轉java 的新手
第一個想到就是用陣列
在php中 直接 array_push("value");
最後再 array_unique(); 就結束了
不過java 沒這麼簡單
1.java 沒有直接 array_unique 的 function
2.java 的 Array 需要先預先宣告 長度
ex String barCode[] = new String(10)
因此目前的想法是
把barCode push 到 陣列 然後 push 進陣列之前
先檢查 陣列是否已經有值了
若有值則不push進去
但是第二個問題: 陣列的大小並不固定
因此google了一下 可以用 ArrayList 來解決實作
ArrayList 是一個可以動態改變大小的陣列
private ArrayList<String> barCodeAry = new ArrayList<String>();
//判斷是否已有此字串
if(!barCodeAry.contains(code)){
//無字串,加入字串
barCodeAry.add(code);
}
//判斷是否已達掃描上限
if(barCodeAry.size()>=limit){
//返回目前barCode值
}
//重啟Activity時,reset ArrayList的值
barCodeAry.clear();
目前就是用ArrayList去解決了
另外還發現了其他的作法
例如 用Set 值不重複的特性
參考文章:http://www.ewdna.com/2012/02/javaarray.html
有空需要來惡補一下 collection API 的部份 看起來很好用
包含了
1. collection:整個collection架構的最上層介面,介面中義了基本的分類方法。
2. set:延伸自collection,可用來製作set物件,儲存在set之中的元素不可以重複,而且set中的元素並沒有順序性。
3. list:延伸自collection,可用來製作list物件,儲存在lis之中的元素可以重複,而且list中的元素具有順序性。
4. sortedset:延伸自set,可用來製作sortedsetset物件。儲存在sotredset之中的元素不可重複,而且sortedset中的元素具有順序性。
參考文章: http://mis.hwai.edu.tw/~kevin/MISProject/JAVAProject/chapter12/c12-1.htm
沒有留言:
張貼留言