當前位置:成語大全網 - 書法字典 - Java高手,急。

Java高手,急。

使用反射方法,代碼如下:

包裝測試;

導入Java . lang . reflect . field;

導入Java . lang . reflect . modifier;

導入Java . util . hashmap;

導入Java . util . map;

公共類TestUtil {

公共靜態Double TEXT _ RAT _ weight 1 = 2.0;

公共靜態Double TEXT _ RAT _ WEIGHT2 = 2.0

公共靜態Double TEXT _ RAT _ value 1b = 2.0;

公共靜態void main(String args[])

{

system . out . println(" TEXT _ RAT _ weight 1 =["+TestUtil。TEXT _ RAT _ weight 1+"]";

system . out . println(" TEXT _ RAT _ weight 2 =["+test util。TEXT _ RAT _ weight 2+"]";

system . out . println(" TEXT _ RAT _ value 1b =["+TestUtil。TEXT _ RAT _ value 1 b+ "]";

//模擬從數據庫中獲取的數據,緩存在HashMap中。

map test map = new HashMap();

test map . put(" TEXT _ RAT _ weight 1 ",new Double(1));

testMap.put("TEXT_RAT_WEIGHT2 ",new Double(3));

test map . put(" TEXT _ RAT _ value 1b ",new Double(4));

嘗試{

//獲取TestUtil的類對象。

Class & lt?& gtclazz = Class.forName("test。TestUtil”);

//獲取該類中的所有屬性。

field[]fields = clazz . getdeclaredfields();

//遍歷所有屬性

for(字段字段:字段){

//打印屬性信息,包括訪問控制修飾符、類型和屬性名。

system . out . println(field);

system . out . println(" modifier:"+modifier . tostring(field . get modifiers()));

system . out . println(" type:"+field . gettype());

System.out.println("屬性名:"+field . getname());

if(null!=testMap.get(field.getName()))

{

//通過類對象創建實例。

嘗試{

TestUtil TestUtil =(TestUtil)clazz . new instance();

//獲取具有名為studentName的屬性的Field對象,以便在下面重置其值。

field tempfield name = clazz . getfield(field . getname());

//將field的值設置為從HashMap獲得的值。

tempFieldName.set(testUtil,test map . get(field . getname()));

} catch(instantiation exception e){

// TODO自動生成的catch塊

e . printstacktrace();

} catch(IllegalAccessException e){

// TODO自動生成的catch塊

e . printstacktrace();

} catch(安全異常e) {

// TODO自動生成的catch塊

e . printstacktrace();

} catch (NoSuchFieldException e) {

// TODO自動生成的catch塊

e . printstacktrace();

}

}

}

} catch(ClassNotFoundException e){

// TODO自動生成的catch塊

e . printstacktrace();

}

system . out . println(" end TEXT _ RAT _ weight 1 =["+TestUtil。TEXT _ RAT _ weight 1+"]";

system . out . println(" end TEXT _ RAT _ weight 2 =["+test util。TEXT _ RAT _ weight 2+"]";

system . out . println(" end TEXT _ RAT _ value 1b =["+TestUtil。TEXT _ RAT _ value 1 b+ "]";

}

}