導航:首頁 > 編程語言 > java獲取屬性類型

java獲取屬性類型

發布時間:2022-06-09 14:06:53

java中如何獲取類的屬性

把這個方法寫在基類

publicvoidgetFields(){
Class<?>cls=getClass();
for(;cls!=Object.class;cls=cls.getSuperclass()){
Field[]fs=cls.getDeclaredFields();
for(Fieldf:fs){
System.out.println(f.getName());
}
}
}

㈡ Java如何獲得一個類裡面的各個屬性和類型

使用反射可以獲取到;

代碼如下:

importjava.lang.reflect.Field;//這是需要引入的包
Field[]f=類名.class.getDeclaredFields();//獲取該類的欄位(public,protected,default(package)access,andprivate)
for(Fieldff:f)//遍歷欄位
{
System.out.println(ff.getType());//獲取欄位類型
System.out.println(ff.getName());//獲取欄位名
}

㈢ java如何判斷屬性類型

你是想通過傳入一個類模板然後判斷出某個屬性的類型?
利用反射可以做到
Field
filed
=
className.getDeclaredField(parameter);
className為對應類模版,parameter為你的屬性名稱
filed.getType().toString();
然後利用這個方法可以查詢到對應屬性類型
基本類型直接返回比如
int
直接返回int
,如果是包裝或者引用
則直接
返回對應包類名
比如
class
java.lang.Short
如果你要獲取所有的
還是利用class對象
Field[]
fields
=className.getDeclaredFields();
循環遍歷就可以了

㈣ 如何通過Java反射獲取一個類屬性的類型要類型Class<

先獲取Method對象

以下僅供參考

packagecom.kidd.test.;

importjava.lang.reflect.Method;

/**
*Helloworld!
*
*/
publicclassMain{

publicstaticvoidmain(String[]args){
Methodmethod1=null;
Methodmethod2=null;
try{
method1=Class.forName("com.kidd.test..Cat").getMethod("getName",(Class<?>[])null);
method2=Class.forName("com.kidd.test..Cat").getMethod("getChilds",(Class<?>[])null);
}catch(NoSuchMethodExceptionex){
ex.printStackTrace();
}catch(SecurityExceptionex){
ex.printStackTrace();
}catch(ClassNotFoundExceptionex){
ex.printStackTrace();
}

if(null!=method1){
System.out.println(method1.getGenericReturnType().getTypeName());
}

if(null!=method2){
System.out.println(method2.getGenericReturnType().getTypeName());
}
}

}

classCat{

privateStringname;
privateCat[]childs;

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicCat[]getChilds(){
returnchilds;
}

publicvoidsetChilds(Cat[]childs){
this.childs=childs;
}

}

㈤ 如何利用java的反射機制動態的取得對象的屬性

Java.lang.Class
getDeclaredFields()

返回 Field 對象的一個數組,這些對象反映此 Class
對象所表示的類或介面所聲明的所有欄位。
Java.lang.reflect.Field

getName()

返回此 Field 對象表示的欄位的名稱。
getGenericType()

返回一個 Type 對象,它表示此 Field 對象所表示欄位的聲明類型。

以上是jdk裡面的一些用法,就是用你想要獲取對象的屬性得到它的class 然後調用 getDeclaredFields()就可以得到欄位數組了。
然後再用下面的方法就可以得到屬性名,類型這一些。
很簡單,要想實現現復雜的功能就再找一下api 找出相應的方法。

㈥ java 怎麼獲取一個對象的屬性

1、過去某個類的某個屬性:
可以通過對象調用其屬性:
1)、創建對象 : 類名 對象名 = new 類名();
2)、調用屬性: 對象名.屬性
2、獲取某個對象的所有屬性
數組類型[] 數組名 = 對象名.getClass().getDeclaredFields();

㈦ java中如何遍歷實體類的屬性和數據類型以及

可以通過反射獲取到屬性方法信息:

publicclassUser{
privateintid;
privateStringname;
privatedoubleamount;

publicintgetId(){
returnid;
}

publicvoidsetId(intid){
this.id=id;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicdoublegetAmount(){
returnamount;
}

publicvoidsetAmount(doubleamount){
this.amount=amount;
}
}

獲取類信息:

importjava.lang.reflect.Field;
importjava.lang.reflect.Method;
importjava.lang.reflect.Parameter;

publicclassReflectDemo{
publicstaticvoidmain(String[]args){
Classclz=User.class;
//獲取所有自己定義的屬性(不包含從Object繼承的,如果需要可使用getFields()方法)
Field[]fields=clz.getDeclaredFields();
for(Fieldf:fields){
System.out.println("屬性名稱:"+f.getName()+",屬性類型:"+f.getType().getName());
}

//獲取所有自己定義的方法(同樣不包含繼承的)
Method[]methods=clz.getDeclaredMethods();
for(Methodm:methods){
System.out.println("方法名稱:"+m.getName());
System.out.println("返回值類型:"+m.getReturnType().getName());
//獲取方法的所有參數
Parameter[]parameters=m.getParameters();
for(Parameterp:parameters){
System.out.println("參數類型:"+p.getType().getName());
}
System.out.println("==========================================");
}
}
}

㈧ 寫一個Java方法,取得某個類里的所有屬性

給你寫了個例子你看下哈。。

import java.lang.reflect.Field;

public class GetField {

public static void main(String[] args) {
try {
Class clazz = Class.forName("");//根據類名獲得其對應的Class對象 寫上你想要的類名就是了 注意是全名 如果有包的話要加上 比如java.Lang.String
Field[] fields = clazz.getDeclaredFields();//根據Class對象獲得屬性 私有的也可以獲得
for(Field f : fields) {
System.out.println(f.getType().getName());//列印每個屬性的類型名字
}
} catch(Exception e) {
e.printStackTrace();
}

}
}

㈨ java 傳過來一個對象,如何得到這個對象的所有屬性值

1、過去某個類的某個屬性:

2,可以通過對象調用其屬性:

3,創建對象 :類名 對象名 = new 類名();

4,調用屬性:對象名.屬性

5,獲取某個對象的所有屬性

6,數組類型[] 數組名 = 對象名.getClass().getDeclaredFields();

7,使用反射
public static void main(String[] args) {
Model model = new Model();
Field fd = new Field();
fd.getField(model);
}
private void getField(Object model) {
java.lang.reflect.Field[] fields = model.getClass().getDeclaredFields();
for(java.lang.reflect.Field f:fields){
System.out.println(f.getName());
}
}

㈩ java怎麼通過反射得到屬性的類型

Class<?>cls=Class.forName(className);//通過類的名稱反射類
Objectobj=cls.newInstance();//對象實例化
Fieldfield=cls.getField(fieldName);//這個對應的是屬性
fieldValue=field.get(obj);//這個就是屬性的值

閱讀全文

與java獲取屬性類型相關的資料

熱點內容
韓國料理pdf 瀏覽:227
什麼app就能知道自己的臉型 瀏覽:383
准了app月卡可以看什麼 瀏覽:140
雲伺服器開機要開30秒 瀏覽:646
php數組傳遞給js 瀏覽:639
在世紀的轉折點上pdf 瀏覽:857
變頻製冷壓縮機性能實驗 瀏覽:574
印刷哪個app好 瀏覽:366
安卓手機如何查看連接過的wifi密碼 瀏覽:461
chrpythonord 瀏覽:353
android切片 瀏覽:230
前端js調用php 瀏覽:591
文件夾res是什麼 瀏覽:488
linuxput命令 瀏覽:932
智能仿生演算法模擬退火 瀏覽:903
汽車辦解壓能代辦嗎 瀏覽:13
美林程序員 瀏覽:841
安卓如何開網路 瀏覽:731
宿來app什麼時候上線 瀏覽:765
成都python培訓機構好不好 瀏覽:422