开发者学堂课程【Java 高级编程:设置多种数据类型】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/388
设置多种数据类型
现在已经成功的实现了单级的属性配置,但是这里面依然需要考虑一个实际的情况,当前所给定的数据类型只是 String。
在实际的开发之中面对简单 java 类中的属性类型一般的可选为: long (Long)、int ( Integer)、double (Double)、String、Date(日期,日期时间),所以这个时候对于当前的程序代码就必须做出修改,要求可以实现各种数据类型的配置。
既然要求可以实现不同类型的内容设置,并且 BeanUtils. 类主要是完成属性赋值处理那么就可以在这个类之中追加有一系列的处理方法。
import java. lang.reflect.Field;
import java. lang.reflect.Method;
import java.util.Date;
public class JavaAPIDemo i
public static void main(String[] args ) throws Exception {
String value = "empno:7369|ename:Smithljob:clerk|salary:750.0o|" ;
Emp emp = classInstanceFactory.create(Emp.class, value) ;
system.out.println("姓名:" + emp.getEname() +“、职位。" + emp.getJob());
class classInstanceFactory i
private classInstanceFactory() {}
/**
*/实例化对象的创建方法,该对象可以根据传入的字符串结构"属性:内容|属性:内容
*/@param clazz要进行反射实例化的Class类对象,有Class就可以反射实例化对象*@param value要设置给对象的属性内容
*@return一个已经配置好属性内容的Java类对象
*/
public static <T> T create(class<?> clazz,string value) {i
try {//如果要想采用反射进行简单Java类对象属性设置的时候,类中必须要有无参构造
object obj = clazz.getDeclaredConstructor().newInstance( ) ;
BeanUtils.setValue(obj, value); l/通过反射设置属性
return (T) obi ; //返回对象
此时只是列举出了常用的几种数据类型,如果要想将其作为一个产品推广,必须要考虑所有可能出现的类型,同时所有可能出现的日期格式也需要考虑。