java.lang.NumberFormatException: multiple points已解決
問題:
多執行緒方法中使用了共享變數SimpleDateFormat,報如下錯誤:
java.lang.NumberFormatException: multiple points
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1084
原因:
SimpleDateFormat是執行緒不安全的,切忌切忌!解決:
線上程方法中,new SimpleDateFormat();
例:
SimpleDateFormat sdf = new SimpleDateFormat();
class QueryUserByNoThread extends Thread{
LoginOpr loginOpr;
CountDownLatch countdown ;
Map<String, Object> map;//構造返回資訊
Group group;
String grpUId;
SimpleDateFormat sdf;
List<Cust> listCust;
List<GroupMember> listMem;
List<User> listUser;
User user;
Map<String, String> member = new HashMap<String, String>();
/**
* @param bo
* @param loginOpr
*/
public QueryUserByNoThread(LoginOpr loginOpr,CountDownLatch cdown,Map<String, String> member,Group group,String grpUId,List<Cust> listCust,List<GroupMember> listMem,List<User> listUser,User user,Map<String, Object> map) {
super();
this.member.putAll(member);
this.countdown = cdown;
this.map = map;
this.group=group;
this.grpUId = grpUId;
this.sdf = new SimpleDateFormat(Constants.DATE_MODEL_8);
this.listMem = listMem;
this.listUser = listUser;
this.loginOpr = loginOpr;
this.user=user;
}