2018年2月21日 星期三

java.net.URLEncoder.encode is deprecated 排除方式

太久沒有寫連線程式了

在做參數轉換時才知 java.net.URLEncoder.encode is deprecated
查了一下只要稍為轉換一下就可以了


主要是要進行編碼時,要指定編碼格式 EX:

URLEncoder.encode("{123, abc}","UTF-8");

這樣即可進行轉碼了

2018年2月14日 星期三

Java List 插入 刪除基本觀念

當我們要針對集合進行插入及刪除時,JAVA原生就已提供相關的方法可以使用

但往往在使用時,如果基本觀念不清楚,就會不小心留下一隻大肥蟲

例如 以下的Code:
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
System.out.println(list);

當直接 output 時會顯示 [A, B, C, D, E]
如果我們進行插入時,加入F,如下範例: 

list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.add(2, "F");
System.out.println(list);

這時output 會顯示 [A, B, F, C, D, E ] 他會在此List 的index 位置2 插入F  
(只要是陣列 集合都是從0開始起算)

如果我們想要先進行刪除B,如下:

list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.reomve(1);
list.add(2, "F");
System.out.println(list);

這時output 會顯示 [A, C, F,  D, E ] ,由此可證 被刪除和插入,List index 都會即時做變化
因此,在進行List處理時,如果要直接使用index異動,就要注意會有此問題
或是我們可以改用 Iterator 即可避掉刪除的問題