📄 valueutils.java
字号:
package jm.framework.util;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 抣庢摼丒宆曄姺丒抣愝掕傪峴偆儐乕僥傿儕僥傿僋儔僗丅
*/
public final class ValueUtils {
/**
* 擔晅宆偺曄姺僷僞乕儞
*/
public static final String[] DATE_PATTERN = {"yyyyMMdd", "yyyy/MM/dd", "yyMMdd", "yy/MM/dd", "yy-MM-dd"};
/**
* 擔帪宆偺曄姺僷僞乕儞
*/
public static final String[] DATETIME_PATTERN = {"yyyy/MM/dd HH:mm:ss", "yyyyMMdd HHmmss", "yy/MM/dd HH:mm:ss", "yyMMdd HHmmss",
"yyyyMMddHHmmss", "yyyy-MM-dd HH:mm:ss"};
/**
* 帪娫宆偺曄姺僷僞乕儞
*/
public static final String[] TIME_PATTERN = {"HHmm", "HH:mm"};
/**
* 悢抣宆偺曄姺僷僞乕儞
*/
public static final String[] DECIMAL_PATTERN = {"0", "#,##0"};
/**
* 彫悢傪娷傓応崌偺悢抣宆偺曄姺僷僞乕儞
*/
public static final String[] DECIMAL_DECIMAL_PATTERN = {"0.0", "#,##0.0"};
/**
* 慖戰巿僨乕僞偺昞帵僷僞乕儞<br>
* {0} 偼僐乕僪丄{1} 偼柤慜偵抲姺偝傟傑偡丅
*/
public static final String ITEM_PATTERN = "{0}丗{1}";
/**
* 暥帤楍宆偺応崌偺僨僼僅儖僩抣
*/
public static final String DEFAULT_VALUE_OF_STRING = " ";
/**
* 悢抣宆偺応崌偺僨僼僅儖僩抣
*/
public static final BigDecimal DEFAULT_VALUE_OF_BIGDECIMAL = new BigDecimal(0);
/**
* 僐儞僗僩儔僋僞
*
*/
private ValueUtils() {
super();
}
/**
* from 偐傜 to 傊僆僽僕僃僋僩偺慡偰抣傪僐僺乕偟傑偡丅<br>
* 偦傟偧傟偺傾僋僙僢僒偼摨偠宆偱偁傞昁梫偑偁傝傑偡丅
*
* @param from 僐僺乕尦
* @param to 僐僺乕愭
* @throws EsqSystemException 僄儔乕
*/
public static final void copyObject(Object from, Object to) throws Exception {
// try {
// PropertyUtils.copyProperties(to, from);
// } catch (IllegalAccessException e) {
// throw new Exception(from.getClass().getName() + " to " + to.getClass().getName(), e);
// } catch (InvocationTargetException e) {
// throw new Exception(from.getClass().getName() + " to " + to.getClass().getName(), e);
// } catch (NoSuchMethodException e) {
// throw new Exception(from.getClass().getName() + " to " + to.getClass().getName(), e);
// }
}
/**
* 僆僽僕僃僋僩偐傜巜掕偝傟偨柤慜偺抣傪庢摼偟傑偡丅<br>
*
* @param from 僆僽僕僃僋僩
* @param fromName 柤慜
* @return 抣
* @throws EsqSystemException 僄儔乕
*/
public static final Object getObject(Object from, String fromName) throws Exception {
Object value = null;
// // 抣偺庢摼
// try {
// value = PropertyUtils.getProperty(from, fromName);
// } catch (IllegalAccessException e) {
// throw new Exception(fromName, e);
// } catch (InvocationTargetException e) {
// throw new Exception(fromName, e);
// } catch (NoSuchMethodException e) {
// throw new Exception(fromName, e);
// }
return value;
}
/**
* 僆僽僕僃僋僩偐傜巜掕偝傟偨柤慜偺抣傪庢摼偟傑偡丅<br>
*
* @param from 僆僽僕僃僋僩
* @param fromName 柤慜
* @return 抣
* @throws Exception 僄儔乕
*/
public static final String getString(Object from, String fromName) throws Exception {
String value = null;
// 抣偺庢摼
// try {
// value = BeanUtils.getProperty(from, fromName);
// } catch (IllegalAccessException e) {
// throw new Exception(fromName, e);
// } catch (InvocationTargetException e) {
// throw new Exception(fromName, e);
// } catch (NoSuchMethodException e) {
// throw new Exception(fromName, e);
// }
return value;
}
/**
* 僆僽僕僃僋僩偺巜掕偟偨柤慜偺抣傪愝掕偟傑偡丅
*
* @param to 僆僽僕僃僋僩
* @param toName 柤慜
* @param value 抣
* @throws Exception 僄儔乕
*/
public static final void setObject(Object to, String toName, Object value) throws Exception {
// 抣偺愝掕
// try {
// PropertyUtils.setProperty(to, toName, value);
// } catch (IllegalAccessException e) {
// throw new Exception(toName, e);
// } catch (InvocationTargetException e) {
// throw new Exception(toName, e);
// } catch (NoSuchMethodException e) {
// throw new Exception(toName, e);
// }
}
/**
* 僆僽僕僃僋僩偺巜掕偟偨柤慜偺抣傪愝掕偟傑偡丅
*
* @param to 僆僽僕僃僋僩
* @param toName 柤慜
* @param value 抣
* @throws Exception 僄儔乕
*/
public static final void setString(Object to, String toName, String value) throws Exception {
// 抣偺愝掕
// try {
// BeanUtils.setProperty(to, toName, value);
// } catch (IllegalAccessException e) {
// throw new Exception(toName, e);
// } catch (InvocationTargetException e) {
// throw new Exception(toName, e);
// }
}
/**
* 巜掕偟偨暥帤楍傪 Date 宍偵曄姺偟傑偡<br>
* 曄姺僷僞乕儞傪暋悢巜掕偟偨応崌偼丄偦偺拞偺僷僞乕儞偱偺曄姺偑帋傒傜傟傑偡丅<br>
* src 偑 null 枖偼嬻暥帤楍偺応崌偼 null 傪曉偟傑偡丅
*
* @param patterns 曄姺僷僞乕儞
* @param src 曄姺偡傞暥帤楍
* @return 曄姺屻偺 Date
* @throws Exception 僄儔乕
*/
public static final Date toDate(String[] patterns, String src) throws Exception {
if (ValueUtils.isBlankOrNull(src)) {
return null;
}
Date value = null;
int srcLength = src.length();
ParsePosition pos = new ParsePosition(0);
SimpleDateFormat formatter = new SimpleDateFormat();
for (int i = 0; i < patterns.length; i++) {
pos.setErrorIndex(0);
pos.setIndex(0);
String pattern = patterns[i];
formatter.applyPattern(pattern);
value = formatter.parse(src, pos);
if (value != null && srcLength == pos.getIndex()) {
// 曄姺惉岟
return value;
}
}
throw new Exception("parse error = " + src);
}
/**
* 巜掕偟偨暥帤楍傪 java.sql.Date 宍偵曄姺偟傑偡<br>
* 曄姺僷僞乕儞傪暋悢巜掕偟偨応崌偼丄偦偺拞偺僷僞乕儞偱偺曄姺偑帋傒傜傟傑偡丅
*
* @param patterns 曄姺僷僞乕儞
* @param src 曄姺偡傞暥帤楍
* @return 曄姺屻偺 java.sql.Date
* @throws Exception 僄儔乕
*/
public static final java.sql.Date toSqlDate(String[] patterns, String src) throws Exception {
Date date = toDate(patterns, src);
if (date == null) {
return null;
}
return new java.sql.Date(date.getTime());
}
/**
* 巜掕偟偨暥帤楍傪 java.sql.Time 宍偵曄姺偟傑偡<br>
* 曄姺僷僞乕儞傪暋悢巜掕偟偨応崌偼丄偦偺拞偺僷僞乕儞偱偺曄姺偑帋傒傜傟傑偡丅
*
* @param patterns 曄姺僷僞乕儞
* @param src 曄姺偡傞暥帤楍
* @return 曄姺屻偺 java.sql.Time
* @throws Exception 僄儔乕
*/
public static final java.sql.Time toSqlTime(String[] patterns, String src) throws Exception {
Date date = toDate(patterns, src);
if (date == null) {
return null;
}
return new java.sql.Time(date.getTime());
}
/**
* 巜掕偟偨暥帤楍傪 java.sql.Timestamp 宍偵曄姺偟傑偡<br>
* 曄姺僷僞乕儞傪暋悢巜掕偟偨応崌偼丄偦偺拞偺僷僞乕儞偱偺曄姺偑帋傒傜傟傑偡丅
*
* @param patterns 曄姺僷僞乕儞
* @param src 曄姺偡傞暥帤楍
* @return 曄姺屻偺 java.sql.Timestamp
* @throws Exception 僄儔乕
*/
public static final java.sql.Timestamp toSqlTimestamp(String[] patterns, String src) throws Exception {
Date date = toDate(patterns, src);
if (date == null) {
return null;
}
return new java.sql.Timestamp(date.getTime());
}
/**
* 巜掕偟偨暥帤楍傪 BigDecimal 宍偵曄姺偟傑偡<br>
* 曄姺僷僞乕儞傪暋悢巜掕偟偨応崌偼丄偦偺拞偺僷僞乕儞偱偺曄姺偑帋傒傜傟傑偡丅<br>
* src 偑 null 枖偼嬻暥帤楍偺応崌偼 null 傪曉偟傑偡丅
*
* @param patterns 曄姺僷僞乕儞
* @param src 曄姺偡傞暥帤楍
* @return 曄姺屻偺 BigDecimal
* @throws Exception 僄儔乕
*/
public static final BigDecimal toBigDecimal(String[] patterns, String src) throws Exception {
if (ValueUtils.isBlankOrNull(src)) {
return null;
}
BigDecimal value = null;
int srcLength = src.length();
ParsePosition pos = new ParsePosition(0);
DecimalFormat formatter = new DecimalFormat();
for (int i = 0; i < patterns.length; i++) {
pos.setErrorIndex(0);
pos.setIndex(0);
String pattern = patterns[i];
formatter.applyPattern(pattern);
Number num = formatter.parse(src, pos);
if (num != null && srcLength == pos.getIndex()) {
// 曄姺惉岟
if (num instanceof BigDecimal) {
value = (BigDecimal) num;
} else {
double doubleValue = num.doubleValue();
value = new BigDecimal(doubleValue);
}
return value;
}
}
throw new Exception("parse error = " + src);
}
/**
* Date 傪暥帤楍宍偵曄姺偟傑偡丅<br>
* src 偑 null 偺応崌偼 null 傪曉偟傑偡丅
*
* @param pattern 曄姺僷僞乕儞
* @param src 曄姺偡傞 Date
* @return 曄姺屻偺暥帤楍
* @throws Exception 僄儔乕
*/
public static final String toString(String pattern, Date src) throws Exception {
if (src == null) {
return null;
}
String value = null;
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
value = formatter.format(src);
if (value == null) {
throw new Exception("format error = " + src);
}
return value;
}
/**
* BigDecimal 傪暥帤楍宍偵曄姺偟傑偡丅<br>
* src 偑 null 偺応崌偼 null 傪曉偟傑偡丅
*
* @param pattern 曄姺僷僞乕儞
* @param src 曄姺偡傞 BigDecimal
* @return 曄姺屻偺暥帤楍
* @throws Exception 僄儔乕
*/
public static final String toString(String pattern, BigDecimal src) throws Exception {
if (src == null) {
return null;
}
String value = null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -