mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-09-20 18:47:58 +08:00
修改为valueOf的方式获取值, 避免产生新的实例
This commit is contained in:
@@ -94,9 +94,7 @@ public class SaTokenConfigFactory {
|
|||||||
Object valueConvert = getObjectByClass(value, field.getType());
|
Object valueConvert = getObjectByClass(value, field.getType());
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
field.set(obj, valueConvert);
|
field.set(obj, valueConvert);
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||||
throw new RuntimeException("属性赋值出错:" + field.getName(), e);
|
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
throw new RuntimeException("属性赋值出错:" + field.getName(), e);
|
throw new RuntimeException("属性赋值出错:" + field.getName(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -112,23 +110,21 @@ public class SaTokenConfigFactory {
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private static <T> T getObjectByClass(String str, Class<T> cs) {
|
private static <T> T getObjectByClass(String str, Class<T> cs) {
|
||||||
Object value = null;
|
Object value;
|
||||||
if (str == null) {
|
if (cs.equals(String.class)) {
|
||||||
value = null;
|
|
||||||
} else if (cs.equals(String.class)) {
|
|
||||||
value = str;
|
value = str;
|
||||||
} else if (cs.equals(int.class) || cs.equals(Integer.class)) {
|
} else if (cs.equals(int.class) || cs.equals(Integer.class)) {
|
||||||
value = new Integer(str);
|
value = Integer.valueOf(str);
|
||||||
} else if (cs.equals(long.class) || cs.equals(Long.class)) {
|
} else if (cs.equals(long.class) || cs.equals(Long.class)) {
|
||||||
value = new Long(str);
|
value = Long.valueOf(str);
|
||||||
} else if (cs.equals(short.class) || cs.equals(Short.class)) {
|
} else if (cs.equals(short.class) || cs.equals(Short.class)) {
|
||||||
value = new Short(str);
|
value = Short.valueOf(str);
|
||||||
} else if (cs.equals(float.class) || cs.equals(Float.class)) {
|
} else if (cs.equals(float.class) || cs.equals(Float.class)) {
|
||||||
value = new Float(str);
|
value = Float.valueOf(str);
|
||||||
} else if (cs.equals(double.class) || cs.equals(Double.class)) {
|
} else if (cs.equals(double.class) || cs.equals(Double.class)) {
|
||||||
value = new Double(str);
|
value = Double.valueOf(str);
|
||||||
} else if (cs.equals(boolean.class) || cs.equals(Boolean.class)) {
|
} else if (cs.equals(boolean.class) || cs.equals(Boolean.class)) {
|
||||||
value = new Boolean(str);
|
value = Boolean.valueOf(str);
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("未能将值:" + str + ",转换类型为:" + cs, null);
|
throw new RuntimeException("未能将值:" + str + ",转换类型为:" + cs, null);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user