日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java获取实体类对象_java 获取实体类对象属性值的方法

發布時間:2024/3/26 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java获取实体类对象_java 获取实体类对象属性值的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在java中我們要獲得實體類對象的屬性,一般情況是將實體類中的屬性私有化,然后再對外提供get()與set()方法,然后再獲取實體類對象的屬性的時候先把對象new出來,再用變量名.get()的方法得到,如果想給某個屬性賦值則用變量名.set()的方法賦值。

第一步,生成一個屬性類:

public class Student {

//編號

private int id;

//姓名

private String name;

//年齡

private int age;

/**

* 有參構造,可以通過生成一個Student類型的對象的時候直接賦值

* @param id

* @param name

* @param age

*/

public Student(int id, String name, int age) {

this.id = id;

this.name = name;

this.age = age;

}

/**

* 無參構造

*/

public Student(){

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

第二步:在其他類里通過生成一個Student類的對象來調用:

//通過生成一個對象并用set方法賦值,get得到

Student student = new Student();

student.setId(1);

student.setName("");

student.setAge(18);

//通過有參構造來賦值

Student student1 = new Student(student.getId(),student.getName(),student.getAge());

這里首先是給變量student賦值,然后又通過set方法拿到student的內部的各個屬性值又通過有參構造的方式賦值給了student1。

總結起來就是這樣給實體類對象里的屬性賦值或者得到實體類對象里的屬性值。希望對大家有所幫助。

另附一段沒有單設屬性類直接在一個類中賦值與獲取的代碼,剛入門的朋友可以看看,自己感覺有點麻煩不如單設屬性類方便,大家自我斟酌吧。

public class TestInstance {

public class Product{

public String name;

public string age;

public int count;

public int number;

}

public static void main(String[] args) throws NoSuchMethodException,

SecurityException, IllegalAccessException,

IllegalArgumentException, InvocationTargetException {

// TODO Auto-generated method stub

Product model = new Product("sss", "11", 3, 4);

Field[] field = model.getClass().getDeclaredFields(); // 獲取實體類的所有屬性,返回Field數組

// 遍歷所有屬性

for (int j = 0; j < field.length; j++) {

String name = field[j].getName();

name = name.substring(0, 1).toUpperCase() + name.substring(1); // 將屬性的首字符大寫,方便構造get,set方法

String type = field[j].getGenericType().toString(); // 獲取屬性的類型

if (type.equals("class java.lang.String")) { // 如果type是類類型,則前面包含"class ",后面跟類名

Method m = model.getClass().getMethod("get" + name);

String value = (String) m.invoke(model); // 調用getter方法獲取屬性值

if (value == null) {

m = model.getClass().getMethod("set" + name, String.class);

m.invoke(model, "");

}else {

System.out.println(value);

}

}

if (type.equals("class java.lang.Integer")||type.equals("int")) {

Method m = model.getClass().getMethod("get" + name);

Integer value = (Integer) m.invoke(model);

if (value == null) {

m = model.getClass().getMethod("set" + name, Integer.class);

m.invoke(model, 0);

}

else {

System.out.println(value);

}

}

if (type.equals("class java.lang.Boolean")||type.equals("boolean")) {

Method m = model.getClass().getMethod("get" + name);

Boolean value = (Boolean) m.invoke(model);

if (value == null) {

m = model.getClass().getMethod("set" + name, Boolean.class);

m.invoke(model, false);

}

else {

System.out.println(value);

}

}

if (type.equals("class java.util.Date")) {

Method m = model.getClass().getMethod("get" + name);

Date value = (Date) m.invoke(model);

if (value == null) {

m = model.getClass().getMethod("set" + name, Date.class);

m.invoke(model, new Date());

}

else {

System.out.println(value);

}

}

if (type.equals("double")) {

Method m = model.getClass().getMethod("get" + name);

double value = (double) m.invoke(model);

System.out.println(value);

}

}

}

}

總結

以上是生活随笔為你收集整理的java获取实体类对象_java 获取实体类对象属性值的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。