1. java如何循環可以可以獲取到每個屬性的值 ,不要用對象名.get屬性名這種方式獲取
覆蓋模型層對象的toString方法,進行重寫,寫有意義的內容,把屬性全都寫進去,
然後直接對象.toString()把所有的列印出來
給你文檔最後一條參考
2. 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());//獲取欄位名
}
3. 怎麼獲得java bean中的屬性名稱
/**如第二個回答所說,你應該多看jdk API文檔的.*/
import java.lang.reflect.Field;
public class TestGetField {
public static void main(String[] args) {
try{
Student student = new Student(21,"banxi1988","boy");
Class sc = student.getClass();
Field[] fieldArray = sc.getFields();
System.out.println("直接得到公開的屬性");
System.out.println("屬性名\t屬性類型\t\t屬性值");
for(int i = 0; i<fieldArray.length;i++){
Field tmpField = fieldArray[i];
System.out.print(tmpField.getName()+"\t\t");
System.out.print(tmpField.getType()+"\t\t");
System.out.println(tmpField.get(student));
}
/**通過反射構造新的對象 ,然後...
Student refStudent =(Student)sc.newInstance();
**/
}catch(Exception e){
e.printStackTrace();
}
}
}
class Student{
private int age;
public String name;
private String gender;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Student(int age, String name, String gender) {
super();
this.age = age;
this.name = name;
this.gender = gender;
}
}
4. java 怎麼獲取一個對象的屬性
1、過去某個類的某個屬性:
可以通過對象調用其屬性:
1)、創建對象 : 類名 對象名 = new 類名();
2)、調用屬性: 對象名.屬性
2、獲取某個對象的所有屬性
數組類型[] 數組名 = 對象名.getClass().getDeclaredFields();
5. java怎麼循環獲取object的屬性名和值object內容如下
用反射。
publicstaticvoidmain(String[]args),IllegalAccessException{
//TODOAuto-generatedmethodstub
Strings="abc";
Field[]f=s.getClass().getDeclaredFields();
for(inti=0;i<f.length;i++){
Fieldft=f[i];
ft.setAccessible(true);
System.out.println(ft.getName()+"-"+ft.get(s));
}
}
會輸出
value - [C@106d69c
hash - 0
serialVersionUID - -6849794470754667710
serialPersistentFields - [Ljava.io.ObjectStreamField;@25154f
CASE_INSENSITIVE_ORDER - java.lang.String$CaseInsensitiveComparator@10dea4e
6. 如何利用java的反射機制動態的取得對象的屬性
Java.lang.Class
getDeclaredFields()
返回 Field 對象的一個數組,這些對象反映此 Class
對象所表示的類或介面所聲明的所有欄位。
Java.lang.reflect.Field
getName()
返回此 Field 對象表示的欄位的名稱。
getGenericType()
返回一個 Type 對象,它表示此 Field 對象所表示欄位的聲明類型。
以上是jdk裡面的一些用法,就是用你想要獲取對象的屬性得到它的class 然後調用 getDeclaredFields()就可以得到欄位數組了。
然後再用下面的方法就可以得到屬性名,類型這一些。
很簡單,要想實現現復雜的功能就再找一下api 找出相應的方法。
7. java中如何通過反射獲取類的屬性
簡單的方法如下:
Class<?> cls=Class.forName(className);////////////////////////通過類的名稱反射類
Object obj=cls.newInstance();//////////////////////對象實例化
Field field=cls.getField(fieldName);/////這個對應的是屬性
fieldValue=field.get(obj);////這個就是屬性的值
8. java中如何用字元串取屬性
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectTest {
public static void main(String[] args) throws Exception {
User user = new User();
Field field = user.getClass().getField("name");
System.out.println(field.get(user));
Method method = user.getClass().getMethod("getPassword");
System.out.println(method.invoke(user));
}
}
class User {
public String name = "admin";
public String getPassword() {
return "123456";
}
}
可以利用JAVA「反射」,看看我上面的例子吧。
9. 寫一個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();
}
}
}