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<String> 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目录,重新更新依赖或导入即可。