这个串和那个属性靠什么对应?
public class fyl {
public static void main(String[] args){
for(String arg:args){
if("weight"equals(arg))
Systemoutprintln(PlaneweightgetClass());
else if("name"equals(arg))
Systemoutprintln(PlanenamegetClass());
else
Systemoutprintln("不存在");
}
}
}
class Plane{
static Integer weight=42;
static String name="plane";
}
不知道你是不是要这样的。记得在运行的时候给main提供参数。
用反射,代码你可以参考下面的:
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Field[] field = modelgetClass()getDeclaredFields(); //获取实体类的所有属性,返回Field数组
for(int j=0 ; j<fieldlength ; j++){ //遍历所有属性
String name = field[j]getName(); //获取属性的名字
Systemoutprintln("attribute name:"+name);
String type = field[j]getGenericType()toString(); //获取属性的类型
if(typeequals("class javalangString")){ //如果type是类类型,则前面包含"class ",后面跟类名
Method m = modelgetClass()getMethod("get" + namesubstring(0,1)toUpperCase() + namesubstring(1) );
String value = (String) minvoke(model); //调用getter方法获取属性值
if(value != null){
Systemoutprintln("attribute value:"+value);
}
}
if(typeequals("class javalangInteger")){
Method m = modelgetClass()getMethod("get" + namesubstring(0,1)toUpperCase() + namesubstring(1) );
Integer value = (Integer) minvoke(model);
if(value != null){
Systemoutprintln("attribute value:"+value);
}
}
if(typeequals("class javalangShort")){
Method m = modelgetClass()getMethod("get" + namesubstring(0,1)toUpperCase() + namesubstring(1) );
Short value = (Short) minvoke(model);
if(value != null){
Systemoutprintln("attribute value:"+value); }
}
if(typeequals("class javalangDouble")){
Method m = modelgetClass()getMethod("get" + namesubstring(0,1)toUpperCase() + namesubstring(1) );
Double value = (Double) minvoke(model);
if(value != null){
Systemoutprintln("attribute value:"+value);
}
}
if(typeequals("class javalangBoolean")){
Method m = modelgetClass()getMethod("get"+name);
Boolean value = (Boolean) minvoke(model);
if(value != null){
Systemoutprintln("attribute value:"+value);
}
}
if(typeequals("class javautilDate")){
Method m = modelgetClass()getMethod("get"+name);
Date value = (Date) minvoke(model);
if(value != null){
Systemoutprintln("attribute value:"+valuetoLocaleString());
}
}
}
1、类Vector:类Vector是Java的历史集合类,隶属于javautil包。它包装了异构链表和数组杂合体,具有以下两个特点:向量是异构的,不要求每个元素的类型相同,向量中可以混合多种对象类型;向量是数组杂合体,因为它们可以在增加元素时动态增大。其异构性正好符合数据库记录中属性类型不一的特点,而其动态性也正好符合数据库查询时,结果集记录个数不定的特点。类Vector定义如下:publicclassVectorextendsAbstractListimplementsList,Cloneable,Serializable{…}实现了向量成员的查找、新增、删除等方法。如:add(Objectobj)可方便地加入一个对象;get(intindex)可方便地得到向量中的一个对象;remove(Objectobj)。则可方便地删除向量中一个对象。
·2、类JTable:JTable组件是Swing组件中比较复杂的小件,隶属于javaxswing包,它能以二维表的形式显示数据。类JTable定义如下:publicclassJTableextendsJComponentimplementsTableModelListener,Scrollable,TableColumnModelListener,ListSelectionListener,CellEditorListener,Accessible{…}类JTable在显示数据时具有以下特点:可定制性:可以定制数据的显示方式和编辑状态;异构性:可以显示不同类型的数据对象,甚至包括颜色、图标等复杂对象;简便性:可以以缺省方式轻松地建立起一个二维表。其可定制性可满足不同用户和场合的要求,异构性也正好符合数据库访问结果集中属性类型不一的特点。类JTable提供了极为丰富的二维表格 *** 作方法,如设置编辑状态、显示方式、选择行列等,在此不一一赘述。使用类JTable显示数据之前,必须根据情况生成定制模型、单元绘制器或单元编辑器。类AbstractListModel用来定制用户自己的数据模型,这个类在后面要介绍。TableCellRenderer接口用来定制单元绘制器,TableCellEditor接口用来定制单元编辑器,这两个接口主要用于颜色对象的处理上,在示例中没有用到,不做过多说明。·
以上就是关于java中,已知一个字符串如何获取class中与该串一致的属性的数据类型全部的内容,包括:java中,已知一个字符串如何获取class中与该串一致的属性的数据类型、java 遍历 类属性的属性值、如何用runtime获取类的属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)