一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java基于反射得到對(duì)象屬性值的方法

java基于反射得到對(duì)象屬性值的方法

2020-09-02 09:57ITshu Java教程

這篇文章主要介紹了java基于反射得到對(duì)象屬性值的方法,結(jié)合實(shí)例形式分析了java基于反射獲取對(duì)象屬性值的相關(guān)實(shí)現(xiàn)方法與操作技巧,需要的朋友可以參考下

本文實(shí)例講述了java基于反射得到對(duì)象屬性值的方法。分享給大家供大家參考,具體如下:

通過(guò)反射機(jī)制得到對(duì)象中的屬性和屬性值 在對(duì)象中private沒(méi)問(wèn)題,在別的類中有時(shí)會(huì)報(bào)異常。下面的例子是在本對(duì)象中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/**
* Engine entity. @author MyEclipse Persistence Tools
*/
public class Engine implements java.io.Serializable {
 // Fields
 private Long engineId;
 private String engineName;
 private String engineType;
 // Constructors
 /** default constructor */
 public Engine() {
 }
 /** minimal constructor */
 public Engine(Long engineId) {
 this.engineId = engineId;
 }
 public Engine(String engineName, String engineType) {
 this.engineName = engineName;
 this.engineType = engineType;
 }
 /** full constructor */
 public Engine(Long engineId, String engineName, String engineType) {
 this.engineId = engineId;
 this.engineName = engineName;
 this.engineType = engineType;
 }
 // Property accessors
 public Long getEngineId() {
 return this.engineId;
 }
 public void setEngineId(Long engineId) {
 this.engineId = engineId;
 }
 public String getEngineName() {
 return this.engineName;
 }
 public void setEngineName(String engineName) {
 this.engineName = engineName;
 }
 public String getEngineType() {
 return this.engineType;
 }
 public void setEngineType(String engineType) {
 this.engineType = engineType;
 }
public static void main(String[] args) throws Exception {
 Engine m = new Engine("汽車","發(fā)動(dòng)機(jī)");
 Class clazz = m.getClass();
 Field[] f = clazz.getDeclaredFields();
 String[] name = field2Name(f);
 Object[] value = field2Value(f, m);
 showNameAndValue(name, value);
 }
 public static void showNameAndValue(String[] name, Object[] value) {
 for (int i = 0; i < name.length; i++) {
  System.out.println("--" + i + "--");
  System.out.println("name:" + name[i]);
  System.out.println("Value:" + value[i]);
  System.out.println("--   --");
 }
 }
 public static String[] field2Name(Field[] f) {
 String[] name = new String[f.length];
 for (int i = 0; i < f.length; i++) {
  name[i] = f[i].getName();
 }
 return name;
 }
 public static Object[] field2Value(Field[] f, Object o) throws Exception {
 Object[] value = new Object[f.length];
 for (int i = 0; i < f.length; i++) {
  value[i] = f[i].get(o);
 }
 return value;
 }
}

如果想調(diào)用private的屬性的屬性值,則要調(diào)用他的get方法了具體做法是:

把field2Value方法改為如下方式,這樣在別的類中也可以得到private的屬性值了

?
1
2
3
4
5
6
7
8
9
10
11
12
public static Object[] field2Value(Field[] fields, Object o) throws Exception {
 Object[] values = new Object[fields.length];
 Class classType = o.getClass();
 for (int i = 0; i < fields.length; i++) {
  String fieldName = fields[i].getName();
  String firstLetter = fieldName.substring(0, 1).toUpperCase();
  String getMethodName = "get" + firstLetter + fieldName.substring(1);
  Method getMethod = classType.getMethod(getMethodName, new Class[] {});
  values[i] = getMethod.invoke(o, new Object[] {});
 }
 return values;
}

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: aⅴ视频在线免播放观看 | 日本伦理动漫在线观看 | 亚洲成年网站在线777 | 男人天堂日韩 | 日本十大顶级绝伦推理片 | 不知火舞被c视频在线播放 不卡一区二区三区卡 | 欧美春宫 | 亚洲成年人免费网站 | 香蕉久久夜色精品国产尤物 | 视频一区二区三区在线 | 免费看成人毛片日本久久 | 嫩草成人影院 | 亚洲春色综合另类网蜜桃 | 日本一级不卡一二三区免费 | 国产成人一区二区三区 | 免费观看欧美性一级 | 亚洲精品欧洲久久婷婷99 | 欧美人与牲动交xxx 欧美人妖另类性hd 欧美人人干 | 日本久久啪啪婷婷激情五月 | 国产卡一卡二卡三乱码手机 | 亚洲精品成人a | 亚欧有色在线观看免费版高清 | 久久婷婷五月综合色精品首页 | 办公室恋情在线 | 欧美日韩一区二区三区在线播放 | 男人把大ji巴放进女人小说 | 67194在线免费观看 | 千金奴隶在线 | 免费超级乱淫播放手机版 | 任我淫| 精品久久久久久无码人妻国产馆 | 羞羞在线观看 | 日日综合 | 亚洲国产日韩制服在线观看 | 秋霞在线观看成人高清视频51 | 欧美亚洲第一页 | 国产在线精品99一卡2卡 | 国产在线播放91 | 办公室强行丝袜秘书啪啪 | 99精品国产成人a∨免费看 | 日韩免费在线看 |