最近看mybatis源码分享两个小知识点_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 最近看mybatis源码分享两个小知识点

最近看mybatis源码分享两个小知识点

 2013/9/26 15:50:20  zzq19860626  程序员俱乐部  我要评论(0)
  • 摘要:最近看mybatis源码,看了一段时间了,还在继续,里面有很多好东西,后面整理出来分享给大家,这里先写两个小的细节,可能有些同学已经是这么写了,那么就当做你没看好了。希望你觉得是新鲜的。先来看下面这段代码,这个代码本身没什么意义,只是表示一下写法:packagecollection;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;publicclassMTest
  • 标签:源码

最近看mybatis源码,看了一段时间了,还在继续,里面有很多好东西,后面整理出来分享给大家,这里先写两个小的细节,可能有些同学已经是这么写了,那么就当做你没看好了。希望你觉得是新鲜的。

?

先来看下面这段代码,这个代码本身没什么意义,只是表示一下写法:

?

?

class="java" name="code">package collection;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MTest {

	private static final Map<Integer,String> map  = new HashMap<Integer,String>(){
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		{
			put(1, "a");
			put(2, "b");
			
		}

	};
	
	public static void main(String[] args) {

		List<String> list = new ArrayList<>();
		list.add("a");
		list.add("b");
		list.toArray(new String[list.size()]);
	}

}

?上面代码中包含了我要说的两个点:

?

第一点:在写静态map的时候直接匿名内部类初始化,代替static块:

原来我是这么写:

private static final Map<Integer,String> map  = new HashMap<Integer,String>();
static{
      map.put(1,"a");
      map.put(2,"b");
}

现在可以用如下代码代替:

private static final Map<Integer,String> map  = new HashMap<Integer,String>(){
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		{
			put(1, "a");
			put(2, "b");
			
		}

	};

第二点:集合类转数组的时候指定数组大小:

原来我的写法:

	list.toArray(new String[]{});

改用如下写法更好:

	list.toArray(new String[list.size()]);

?

怎么样,你是不是这么写的?

发表评论
用户名: 匿名