java中一些经常用到的小方法

1.java中如何把字符数组转化成字符串,并以逗号分割
方法1、需要引入Apache Commons组件中的个commons-lang.jar包:
String str1=StringUtils.join(ary, “,”);
方法2、格式化
String str2 = String.format(“%s,%s,%s”, ary);

String wareIds = StringUtils.join(s, “,”);
List wareIdAry = Arrays.asList(wareIds.split(“,”));

2.hashmap 和hashset是无序的,treemap和treeset是有序的,对于无序的遍历,只能用增强的for循环foreach或者iterator方法

3.List里面不要进行remove操作,否则会出越界的错误

不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁。
反例:
List<String> a = new ArrayList<String>(); 
 a.add("1");
 a.add("2");
 for (String temp : a) {
     if ("1".equals(temp)) { 
         a.remove(temp);
     } 
 }

正确:

Iterator it = a.iterator(); 
 while (it.hasNext()) {
     String temp = it.next(); 
     if (删除元素的条件) {
         it.remove();
     }
 }

4.classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.

5.BigDecimal和BigDecimalFormat
bigdecimalFormat可以把object类型的字数,格式化为具体保留几位小数精度的数字

   Map<String, Object> wareInfoMap = wareInfoList.get(i);
  DecimalFormat df = new DecimalFormat("0.000");
  wareInfoMap.put("weight", df.format(wareInfoMap.get("weight")));

结果将是保留三位小数的字符串

bigDecimal 四舍五入并保留两位小数:
String jsonData = “5.43”;
BigDecimal mallBalance = new BigDecimal(jsonData).setScale(2,BigDecimal.ROUND_HALF_DOWN);

6.Controller方法ajax返回时,如果用fastjson的 JSONObject.toJSONString( )方法把数据转成String类型传输,那么requestMapping里要加produces = “text/html;charset=UTF-8”,否则会出现中文乱码

7.maven项目更新依赖时突然报错
错误描述:

An internal error occurred during: “Updating Maven Project”.
java.lang.NullPointerException
解决方法:

删除.setting .project目录,重新更新依赖或导入即可。

你可能感兴趣的:(其他)