java 之final用法
阿新 • • 發佈:2019-01-26
final 修飾符分兩種情況:
如果是修飾基本型別,如果整形,浮點型,如 final int i=100,這裡的i的值是不能變的
如果修飾的是物件,如final String s = "dddd";,這裡的引用是不能變的,比如你不能這樣寫:
s = "bbbbb";但物件的值可以改變。
在java裡面,陣列是被看做是一個物件的,所以這個final不能阻止通過陣列下標來訪問物件進行值的改變。
1:修飾變數final修飾基本資料型別:一旦賦值,變數的值不能修改。即Java中的常數。例如:final int num = 10;//num在程式中不能再次被賦值,只能為10;final修飾物件:一旦賦值,則物件控制代碼不能再修改(指向其他物件)。但是物件的內容可以被修改。new Thread(new Runnable() {
@Override
public void run() {
byte[] bytes = HttpUtils.getHttpResult(ViewpagerPath);
String json = new String(bytes,0,bytes.length);
final List<String> list = ParserJsonUtil.ParserHomeViewpagerJson(json);
final List<ImageView> ivlist =new ArrayList<ImageView>();
handler.post(new Runnable() {
@Override
public void run() {
for (int i = 0; i<list.size(); i++){
//byte[] imagebytes = HttpUtils.getHttpResult(list.get(i));
//Bitmap bm = BitmapFactory.decodeByteArray(imagebytes,0,imagebytes.length);
ImageView iv = new ImageView(context);
//iv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
// ViewGroup.LayoutParams.MATCH_PARENT));
Glide.with(context).load(list.get(i)).into(iv);
ivlist.add(iv);
}
}
});