精华内容
下载资源
问答
  • 标签:importjava.lang.reflect.Field;importjava.util.ArrayList;.../***反射集合类**/publicclassReflectUtils{/***获取类clazz的所有Field,包括其父类的Field,如果重名,以子类Field为准。*@paramclazz*@return...

    标签:import java.lang.reflect.Field;

    import java.util.ArrayList;

    import java.util.Arrays;

    /**

    * 反射集合类

    * */

    public class ReflectUtils {

    /**

    * 获取类clazz的所有Field,包括其父类的Field,如果重名,以子类Field为准。

    * @param clazz

    * @return Field数组

    */

    public static Field[] getAllField(Class> clazz) {

    ArrayList fieldList = new ArrayList();

    Field[] dFields = clazz.getDeclaredFields();

    if (null != dFields && dFields.length > 0) {

    fieldList.addAll(Arrays.asList(dFields));

    }

    Class> superClass = clazz.getSuperclass();

    if (superClass != Object.class) {

    Field[] superFields = getAllField(superClass);

    if (null != superFields && superFields.length > 0) {

    for(Field field:superFields){

    if(!isContain(fieldList, field)){

    fieldList.add(field);

    }

    }

    }

    }

    Field[] result=new Field[fieldList.size()];

    fieldList.toArray(result);

    return result;

    }

    /**检测Field List中是否已经包含了目标field

    * @param fieldList

    * @param field 带检测field

    * @return

    */

    public static boolean isContain(ArrayList fieldList,Field field){

    for(Field temp:fieldList){

    if(temp.getName().equals(field.getName())){

    return true;

    }

    }

    return false;

    }

    }

    标签:

    展开全文
  • importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.JButton;importjavax.swing.JFram...//这个只不过是个布局 大大们可以跳过package com.test.test;im...

    //这个只不过是个布局大大们可以跳过packagecom.test.test;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.JButton;importjavax.swing.JFram...

    //这个只不过是个布局 大大们可以跳过

    package com.test.test;

    import java.awt.event.MouseAdapter;

    import java.awt.event.MouseEvent;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JOptionPane;

    import javax.swing.JTextField;

    public class setBombFrame extends JFrame{

    JLabel setRowLabel = new JLabel("设置行数");

    JLabel setColLabel = new JLabel("设置列数");

    JLabel combCountLabel = new JLabel("设置雷数");

    JTextField setRowField = new JTextField();

    JTextField setColField = new JTextField();

    JTextField combCountField = new JTextField();

    JButton sureBtn = new JButton("确认");

    JButton cancelBtn = new JButton("取消");

    public void myLayout(){

    setLayout(null);

    setRowLabel.setBounds(30, 10, 80, 20);

    setColLabel.setBounds(30, 40, 80, 20);

    combCountLabel.setBounds(30, 70, 80, 20);

    setRowField.setBounds(100, 10, 100, 20);

    setColField.setBounds(100, 40, 100, 20);

    combCountField.setBounds(100, 70, 100, 20);

    sureBtn.setBounds(30, 100, 60, 20);

    cancelBtn.setBounds(140, 100, 60, 20);

    add(setRowLabel);

    add(setColLabel);

    add(combCountLabel);

    add(setRowField);

    add(setColField);

    add(combCountField);

    add(sureBtn);

    add(cancelBtn);

    }

    public void setListener(){

    sureBtn.addMouseListener(new MouseAdapter() {

    @Override

    public void mouseClicked(MouseEvent e) {

    try{

    int Row = Integer.parseInt(setRowField.getText());

    }

    catch(NumberFormatException e1){

    JOptionPane.showConfirmDialog(null,

    "你输入不合法", "提示", JOptionPane.YES_OPTION);

    }

    }

    });

    }

    setBombFrame(){

    myLayout();

    setListener();

    setLocation(200, 200);

    setSize(250, 180);

    setVisible(true);

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setResizable(false);

    }

    }

    提问:当点击确定的时候,如何把行列的值给一个另外一个java文件的String?

    (界面是一个java文件,我想在另一个文件通过主函数获取输入的值怎么整?)

    展开

    展开全文
  • Java 反射获取Field

    2020-04-10 17:12:57
    反射获取Field :成员变量 设置值 void set(0bject obj, object value) 获取值 get(object obj) 忽略访问权限修饰符的安全检查 setAccessible(true) :暴力反射 Field[] getFields() 获取所有public修饰的成员...

    反射获取Field :成员变量

    1. 设置值
      void set(0bject obj, object value)

    2. 获取值
      get(object obj)

    3. 忽略访问权限修饰符的安全检查
      setAccessible(true) :暴力反射

    Field[] getFields() 获取所有public修饰的成员变量
    Field getField(string name) 获取指定名称的成员变量
    Field[] getDeclaredFields()获取所有的成员变量,不考虑修饰符
    Field getDeclaredField(String name)
    
    package cn.abc.reflect;
    
    import cn.abc.domin.Person;
    
    import java.lang.reflect.Field;
    
    public class ReflectDemo02 {
    
        public static void main(String[] args) throws Exception {
            //获取Person的Class对象
            Class personClass = Person.class;
    
            //1.Field[] getFields():获取public修饰的成员变量
            Field[] fields = personClass.getFields();
            for (Field field : fields) {
                System.out.println(field);
            }
    
            //2.getField(String name)
            Field abc = personClass.getField("abc");
            //获取成员变量abc的值
            Person p = new Person();
            Object value = abc.get(p);
            System.out.println(value);//null
            //设置abc的值
            abc.set(p,"李白");
            System.out.println(p);
    
    
            //3.getDeclaredFields()获取所有的成员变量,不考虑修饰符
            Field[] declaredFields = personClass.getDeclaredFields();
            for (Field declaredField : declaredFields) {
                System.out.println(declaredField);
            }
    
            //4.getDeclaredField(String name)
            Field name = personClass.getDeclaredField("name");
            //忽略访问权限修饰符的安全检查
            name.setAccessible(true);//暴力反射
            Object value2 = name.get(p);
            System.out.println(value2);
    
        }
    }
    
    
    展开全文
  • 有没有办法在 Java获取字段的泛型类型?我有以下对象变量:protected ScheduleView scheduleLine1;protected ScheduleView scheduleLine2;现在我尝试使用反射来获取所有具有ScheduleView作为类型的对象变量,其中...

    有没有办法在 Java中获取字段的泛型类型?

    我有以下对象变量:

    protected ScheduleView scheduleLine1;

    protected ScheduleView scheduleLine2;

    现在我尝试使用反射来获取所有具有ScheduleView作为类型的对象变量,其中WantedClass为泛型类型:

    Arrays.asList(this.getClass().getDeclaredFields()).stream().map(field -> {

    ScheduleView retValue = null;

    System.out.println(field.getGenericType()); // prints control.ScheduleView

    try {

    if (field.getType() == ScheduleView.class) { // here I also want to check if the generic type is WantedClass

    retValue = (ScheduleView) field.get(this);

    } else {

    retValue = null;

    }

    } catch (IllegalAccessException e) {

    retValue = null;

    } finally {

    return retValue;

    }

    }).filter(scheduleView -> scheduleView != null).forEach(scheduleView -> {

    /* some more code */

    });

    问题是如果泛型类型是WantedClass,我也想检查if-Statement.我也尝试使用方法getGenericType()但似乎这样的事情是不可能的:

    field.getGenericType() == ScheduleView.class

    那么有没有办法获得字段的泛型类型?

    展开全文
  • 有没有办法在Java获取字段的泛型类型?我有以下对象变量:protected ScheduleView scheduleLine1;protected ScheduleView scheduleLine2;现在我尝试使用反射来获取所有具有ScheduleView作为类型的对象变量,其中...
  • Java反射机制获取Field

    2021-04-11 22:51:00
    利用反射机制反射Student类中所有的Field 下面就是例子: Student类代码: //反射属性Field public class Srudentt { //Field翻译为字段,其实就是属性/成员 //5个Field,分别采用了不同的访问控制权限修饰符。 ...
  • importjava.lang.reflect.Field;importjava.util.ArrayList;.../***反射集合类**/publicclassReflectUtils{/***获取类clazz的所有Field,包括其父类的Field,如果重名,以子类Field为准。*@paramclazz*@returnFie...
  • 我们在前面的文章中学习了java反射机制是什么的问题,相信大家对反射机制有了全面的理解。在java中使用反射机制,会提高程序的灵活性和扩展性,还能节省资源,因此...学习java反射field用法,要知道field是什么,Ja...
  • 比如,有一个类(A)有一个字段(myField). myField字段的类型是接口(I)....我的代码如下:Field myField = getField(myClass, "fieldName");Class fieldClass = myField.getType(); // returns Itry {Class[] p...
  • 首先必须明一点 Field类主要是用来辅助获取和操作类的属性的!1.怎么通过反射获取类的属性先来看JDK提供的方法有如下几种:a)Class.getDeclaredField(String name);返回一个 Field 对象,该对象反映此 Class 对象所...
  • import java.lang.reflect.Field;public class ReflectClass3 {/*** @param args*/public static void main(String[] args) {Person p = new Person(1, "ctl", true, 'c', 2.0f, 2.0, 1L, (short) 1,(byte) 1);p.set...
  • 在读本篇文章之前最好先看一下《走进Java世界的大门》中关于反射的部分以及《JVM基础》中关于类加载的部分,不看也没关系。进入正题~每天和代码打交道遇到最多的估计就是各种类了,譬如Person类:public class ...
  • } } Java一共提供了四种方法接口获取字段,如果权限不够可以使用setAccessible(true)临时将修饰符改为public,这样就可以取到值。 4.1、getDeclaredField(String name)通过name来获取本类定义的字段; 所有祖先类...
  • 一个简单类的例子在这个类中,有普通的String类型,有数组...我们这一次博客解析如何使用反射获取到不同属性的类型值。public class Some{private String name;private Integer[] numbers;private List list;priva...
  • Java反射 field

    2020-03-01 10:22:58
    Java反射 field 获取字节码文件对象 Class c = Class.forName(“fieldtest.Student”); 通过无参构造方法创建对象obj Constructor con = c.getConstructor(); Object obj = con.newInstance(); 通过成员变量名...
  • 反射(reflection),Java的反射是指程序在运行期可以拿到一个对象的所有信息。... Field类:代表类的成员变量(成员变量也称为类的属性) Method类:代表类的方法 Constructor类:代表类的构造方法Class类:...
  • 首页>基础教程>反射>Reflection APIJava Field类Field是一个类,位于Java.lang....获取Field类对象1. Class.getDeclaredField(String name);返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接...
  • 反射机制详解 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;... 一、java的特点 1、ava 反射field 测试tank类Java代码 收藏代码package ReflectJava;public class Tank...
  • JAVA反射系列之Field,java.lang.reflect.Field使用获取方法。 转载https://my.oschina.net/u/1407116/blog/209383 摘要 java.lang.reflect.Field使用 Field. 首先必须明一点Field类主要是用来辅助获取和...
  • 获取Java类中所有Field

    2016-04-18 20:21:10
    import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays;   /**  * 反射集合类  * */ ... * 获取类clazz的所有Field,包括其父类的Field,如果重名,以
  • /*获取类的field信息*/ public static void printFieldMessage... * 成员变量也是对象 java.lang.reflect.field Field类封装了关于成员变量的操作 * getFields方法获取的是所有public成员变量的信息 getDecla
  • 一、Field(1)Field/*** ... 获取字段* 1.1 Field[] fields = clazz.getDeclaredFields();* 1.2 Field field = clazz.getDeclaredField("name");** 2. 获取指定对象的指定字段的值* public Object get(Object obj)* ...
  • ReflecClassPoint01.javapackage com.sg.reflex;public class ReflecClassPoint01 {private int x;public int y ;public String str1 = "ball";public String str2 = "basketball";public String str3 = "itcast";pu...
  • packagecom.test;importjava.lang.reflect....importjava.lang.reflect.Field;importjava.lang.reflect.Method;importjava.lang.reflect.Modifier;public classMain{/*获取类的声明*/privateString getClassState...
  • java反射field_Java反射

    2021-03-10 07:59:49
    这种鼎泰获取信息以及动态调用对象方法的功能称为JAVA语言的反射机制。二、class文件包含的内容三、使用场所Java程序运行时,许多对象会出现两种类型:编译时类型,运行时类型。编译时类型:由声明对象时实用的类型...
  • cause:java.lang.IllegalArgumentException:参数类型不匹配 *编辑* 这可能对那些正在寻找同样事物的人有所帮助. 如果是Person类,则有2个或更多Apple变量: public class Person { private Apple appleOne; ...
  • 一般情况下,根据面向对象封装原则,Java实体类的属性都是私有的,我们不能获取类中的属性。但我们可以根据反射,获取私有变量、方法、构造器,甚至是注解。阿里一面:被问懵了,一个TCP连接可以发多少HTTP请求?...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,801
精华内容 1,120
关键字:

java获取field

java 订阅