直接代码:
1.SimpleDateFormat
public static void main(String args[])
{
Date now = new Date();
String format = new SimpleDateFormat("今日 "+"MM-dd EEE").format(now);
System.out.println(format);
}
这样可以,可是若第二句是String format = new SimpleDateFormat("Today"+"MM-dd EEE").format(now)则会抛java.lang.IllegalArgumentException异常。
2.Map与List,以下测试代码可以看出Map与List存储为指针方式。
public static void main(String args[])
{
Map<String,List<String>> map = new HashMap<String,List<String>>();
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
map.put("第一个list", list);
list = new ArrayList<String>();
list.add("111");
map.put("第二个list", list);
System.out.println(map);
List<String> tempList = map.get("第二个list");
tempList.remove(0);
System.out.println(map);
}
3.在遍历List且要remove其元素时,易犯如下低级错误:
public static void main(String args[])
{
List<String> list = new ArrayList<String>();
list.add("111");
list.add("111");
list.add("111");
list.add("111");
System.out.println(list);
for(int i=0;i<list.size();i++)
{
if(list.contains("111"))
{
list.remove(i);
}
}
System.out.println(list);
System.out.println(list.size());
}
由于这样在remove同时会改变list大小,所以得不到想要的结果,正确方式应该如下:
public static void main(String args[])
{
List<String> list = new ArrayList<String>();
list.add("111");
list.add("111");
list.add("111");
list.add("111");
System.out.println(list);
Iterator<String> it = list.iterator();
while(it.hasNext())
{
if(it.next().equals("111"))
{
it.remove();
}
}
System.out.println(list);
System.out.println(list.size());
}
用Iterator类去处理集合类。