MCPcopy Create free account
hub / github.com/diyhi/bbs / conversion

Method conversion

src/main/java/cms/utils/ObjectConversion.java:34–96  ·  view source on GitHub ↗
(Object value,String type)

Source from the content-addressed store, hash-verified

32
33
34 @SuppressWarnings("unchecked")
35 public static <T> T conversion(Object value,String type){
36 if(INTEGER.equals(type)){
37 if(value != null){
38 return (T) Integer.valueOf(value.toString());
39 }
40 }else if(LONG.equals(type)){
41 if(value != null){
42 return (T) Long.valueOf(value.toString());
43 }
44 }else if(BIGDECIMAL.equals(type)){
45 if(value != null){
46 return (T) new BigDecimal(value.toString());
47 }
48 }else if(DATE.equals(type)){
49 if(value != null){
50 DateTime dateTime = DateTime.parse(value.toString(), date_format);
51 return (T)dateTime.toDate();
52 }
53 }else if(TIME.equals(type)){
54 if(value != null){
55 DateTime dateTime = DateTime.parse(value.toString(), time_format);
56 return (T)dateTime.toDate();
57 }
58 }else if(TIMESTAMP.equals(type)){
59 if(value != null){
60 //时间解析
61 DateTime dateTime = DateTime.parse(value.toString(), timestamp_format);
62 return (T)dateTime.toDate();
63 }
64 }else if(LOCALDATETIME.equals(type)){
65 if(value != null){
66 // 如果 JPA 已经返回了 java.time.LocalDateTime
67 if (value instanceof LocalDateTime) {
68 return (T) value;
69 }
70 //从 JPA/JDBC 返回的是 java.sql.Timestamp
71 if (value instanceof java.sql.Timestamp) {
72 // java.sql.Timestamp 自带 toLocalDateTime() 方法,完美兼容
73 return (T) ((java.sql.Timestamp) value).toLocalDateTime();
74 }
75
76 if (value instanceof java.util.Date) {
77 // 通过 Instant 和系统时区进行安全转换
78 return (T) ((java.util.Date) value).toInstant()
79 .atZone(ZoneId.systemDefault())
80 .toLocalDateTime();
81 }
82 }
83 }else if(STRING.equals(type)){
84 if(value != null){
85 return (T)value.toString();
86 }
87 }else if(BOOLEAN.equals(type)){
88 if(value != null){
89 return (T)Boolean.valueOf(value.toString());
90 }
91 }

Calls 2

equalsMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected