精华内容
下载资源
问答
  • /*** 获取对象属性,返回一个字符串数组** @param o 对象* @return String[] 字符串数组*/private static String[] getFiledName(Object o){try{Field[] fields = o.getClass().getDeclaredFields();String[] field...

    /**

    * 获取对象属性,返回一个字符串数组

    *

    * @param o 对象

    * @return String[] 字符串数组

    */

    private static String[] getFiledName(Object o)

    {

    try

    {

    Field[] fields = o.getClass().getDeclaredFields();

    String[] fieldNames = new String[fields.length];

    for (int i=0; i < fields.length; i++)

    {

    fieldNames[i] = fields[i].getName();

    }

    return fieldNames;

    } catch (SecurityException e)

    {

    e.printStackTrace();

    System.out.println(e.toString());

    }

    return null;

    }

    /**

    * 使用反射根据属性名称获取属性值

    *

    * @param fieldName 属性名称

    * @param o 操作对象

    * @return Object 属性值

    */

    private static Object getFieldValueByName(String fieldName, Object o)

    {

    try

    {

    String firstLetter = fieldName.substring(0, 1).toUpperCase();

    String getter = "get" + firstLetter + fieldName.substring(1);

    Method method = o.getClass().getMethod(getter, new Class[] {});

    Object value = method.invoke(o, new Object[] {});

    return value;

    } catch (Exception e)

    {

    System.out.println("属性不存在");

    return null;

    }

    }

    展开全文
  • 我的哈希图中有一个称为“ mastervalue”的对象值。 mastervalue包含ques_id作为键,而array包含score和answer作为值。如何仅获取数组的值(分数和答案)并以List形式返回。String maprule = "department == '2' &...

    我的哈希图中有一个称为“ mastervalue”的对象值。 mastervalue包含ques_id作为键,而array包含score和answer作为值。如何仅获取数组的值(分数和答案)并以List形式返回。

    String maprule = "department == '2' && topic == '1'";

    mastervalue = (Map>) map_master.get(maprule);

    System.out.println(mastervalue);

    mastervalue打印输出:

    {10359 = [4,1],10365 = [1,1],10364 = [1,1],10363 = [4,1],10362 = [3,1],10369 = [1,1],10368 = [5,1]}

    java大神给出的解决方案

    好的:

    public List getValues(Map, T> map) {

    return new ArrayList<>(map.values());

    }

    内联:

    List> list = new ArrayList<>(map_master.values());

    或使用方法:

    List> list = getValues(map_master);

    另外,如果您要将所有列表的所有值都放在一个列表中,则只需迭代即可:

    List total = new ArrayList<>();

    for (List lis : map_master.values()) {

    total.addAll(lis);

    }

    对于Java 8流:

    List total = map_master.values().stream()

    .flatMap(Collection::stream)

    .collect(Collectors.toList());

    Java中的“ <

    最喜欢的语句来自Java的Character类:(1 << Character.PARAGRAPH_SEPARATOR)) >> type PARAGRAPH_SEPARATOR是字节,type是整数。这句话中的操作员,他们做什么?如何以及在哪里可以使用这些运算符?这是oracles java.lang.Character文档。该类中…java:继承 - java

    有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…JAVA:如何检查对象数组中的所有对象是否都是子类的对象? - java

    我有一个对象数组。现在,我要检查所有这些对象是否都是MyObject的实例。有没有比这更好的选择:boolean check = true; for (Object o : justAList){ if (!(o instanceof MyObject)){ check = false; break; } } java大神给出的解决方案 如果您不喜欢循环,则…Java-如何将此字符串转换为日期? - java

    我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…如何告诉Checker遗留方法将接受Nullable类型? - java

    考虑一下:@Nullable Object obj = null; Optional optional = Optional.ofNullable(obj); 这会失败,因为检查器框架假定ofNullable无法接受null值(毕竟,其参数未标记为@Nullable)。有没有办法告诉Checker-framework这个方法(或我…

    展开全文
  • import java.lang.reflect.Field;import java.lang.reflect.Method;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import ja...

    package com.hao.search;

    import java.lang.reflect.Field;

    import java.lang.reflect.Method;

    import java.text.SimpleDateFormat;

    import java.util.ArrayList;

    import java.util.Date;

    import java.util.List;

    import java.util.Objects;

    import org.apache.commons.collections.CollectionUtils;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    import com.google.common.base.Joiner;public classObjectPaseUtils {private static Logger logger = LoggerFactory.getLogger(ObjectPaseUtils.class);/**

    * @desc 将对象转换成指定String

    * @param

    * @param t

    * @return*/

    public static String objectToStr(T t) {

    List list = new ArrayList();

    String[] fieldNames=getFiledName(t);for (int i = 0; i < fieldNames.length; i++) {

    String name=fieldNames[i];

    Object value=getFieldValueByName(name, t);if (null !=value) {if (getFiledType(name, t).equals(Date.class)) {

    value= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date)value);

    }

    list.add(name+ ":" +value);

    }

    }if(CollectionUtils.isNotEmpty(list)) {return Joiner.on("\r").skipNulls().join(list);

    }return null;

    }/**

    * @desc 获取属性名数组

    * @param o

    * @return*/

    private staticString[] getFiledName(Object o) {

    Field[] fields=o.getClass().getDeclaredFields();

    String[] fieldNames= newString[fields.length];for (int i = 0; i < fields.length; i++) {

    fieldNames[i]=fields[i].getName();

    }returnfieldNames;

    }/**

    * @desc 根据属性名获取属性值

    * @param fieldName

    * @param o

    * @return*/

    private staticObject getFieldValueByName(String fieldName, Object o) {try{

    String firstLetter= fieldName.substring(0, 1).toUpperCase();

    String getter= "get" + firstLetter + fieldName.substring(1);

    Method method= o.getClass().getMethod(getter, newClass[] {});

    Object value= method.invoke(o, newObject[] {});returnvalue;

    }catch(Exception e) {

    logger.error("获取属性值失败!" +e, e);

    }return null;

    }/**

    * @desc 获取属性的数据类型

    * @param fieldName

    * @param o

    * @return*/

    private staticObject getFiledType(String fieldName, Object o) {

    Field[] fields=o.getClass().getDeclaredFields();for(Field field : fields) {if(Objects.equals(fieldName, field.getName())) {returnfield.getType();

    }

    }return null;

    }

    }

    展开全文
  • 利用反射获取对象的所有属性及对应的1、获取属性名数组private static String[] getFiledName(Object o) {Field[] fields = o.getClass().getDeclaredFields();String[] fieldNames = new String[fields.length];...

    利用反射获取对象的所有属性及对应的值

    1、获取属性名数组

    private static String[] getFiledName(Object o) {

    Field[] fields = o.getClass().getDeclaredFields();

    String[] fieldNames = new String[fields.length];

    for (int i = 0; i < fields.length; i++) {

    fieldNames[i] = fields[i].getName();

    }

    return fieldNames;

    }

    2、根据属性名获取属性值

    private static Object getFieldValueByName(String fieldName, Object o) {

    try {

    String firstLetter = fieldName.substring(0, 1).toUpperCase();

    String getter = "get" + firstLetter + fieldName.substring(1);

    Method method = o.getClass().getMethod(getter, new Class[] {});

    Object value = method.invoke(o, new Object[] {});

    return value;

    } catch (Exception e) {

    logger.error("获取属性值失败!" + e, e);

    }

    return null;

    }

    3、获取属性的数据类型

    private static Object getFiledType(String fieldName, Object o) {

    Field[] fields = o.getClass().getDeclaredFields();

    for (Field field : fields) {

    if (Objects.equals(fieldName, field.getName())) {

    return field.getType();

    }

    }

    return null;

    }

    4、完整代码及其引入的包

    package com.hao.search;

    import java.lang.reflect.Field;

    import java.lang.reflect.Method;

    import java.text.SimpleDateFormat;

    import java.util.ArrayList;

    import java.util.Date;

    import java.util.List;

    import java.util.Objects;

    import org.apache.commons.collections.CollectionUtils;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    import com.google.common.base.Joiner;

    public class ObjectPaseUtils {

    private static Logger logger = LoggerFactory.getLogger(ObjectPaseUtils.class);

    /**

    * @desc 将对象转换成指定String

    * @param

    * @param t

    * @return

    */

    public static String objectToStr(T t) {

    List list = new ArrayList();

    String[] fieldNames = getFiledName(t);

    for (int i = 0; i < fieldNames.length; i++) {

    String name = fieldNames[i];

    Object value = getFieldValueByName(name, t);

    if (null != value) {

    if (getFiledType(name, t).equals(Date.class)) {

    value = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date)value);

    }

    list.add(name + " : " + value);

    }

    }

    if (CollectionUtils.isNotEmpty(list)) {

    return Joiner.on("\r").skipNulls().join(list);

    }

    return null;

    }

    /**

    * @desc 获取属性名数组

    * @param o

    * @return

    */

    private static String[] getFiledName(Object o) {

    Field[] fields = o.getClass().getDeclaredFields();

    String[] fieldNames = new String[fields.length];

    for (int i = 0; i < fields.length; i++) {

    fieldNames[i] = fields[i].getName();

    }

    return fieldNames;

    }

    /**

    * @desc 根据属性名获取属性值

    * @param fieldName

    * @param o

    * @return

    */

    private static Object getFieldValueByName(String fieldName, Object o) {

    try {

    String firstLetter = fieldName.substring(0, 1).toUpperCase();

    String getter = "get" + firstLetter + fieldName.substring(1);

    Method method = o.getClass().getMethod(getter, new Class[] {});

    Object value = method.invoke(o, new Object[] {});

    return value;

    } catch (Exception e) {

    logger.error("获取属性值失败!" + e, e);

    }

    return null;

    }

    /**

    * @desc 获取属性的数据类型

    * @param fieldName

    * @param o

    * @return

    */

    private static Object getFiledType(String fieldName, Object o) {

    Field[] fields = o.getClass().getDeclaredFields();

    for (Field field : fields) {

    if (Objects.equals(fieldName, field.getName())) {

    return field.getType();

    }

    }

    return null;

    }

    }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • setter/getternew 新对象后用 set/get 方法设置属性浅克隆被复制的类需要实现Clonenable接口(不实现的话在调用 clone 方法会抛出 CloneNotSupportedException 异常), 该接口为标记接口(不含任何方法)覆盖clone() ...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼/*** 根据属性名获取属性* */private Object getFieldValueByName(String fieldName, Object o) {try {String firstLetter = fieldName.substring(0, 1).toUpperCase()...
  • Java反射获取对象内容

    2021-03-06 06:26:30
    通过Java反射获得对象里面的所有字段名以及字段对应的public static void test(Bean bean) {Field[] fields = bean.getClass().getDeclaredFields();for(Field field :fields) {//设置是否允许访问,不是修改原来...
  • valueMap = new HashMap();// ????bean?????...Method[] methods = cls.getDeclaredMethods();Field[] fields = cls.getDeclaredFields();for (Field field : fields) {try {String fieldType = field.getType().getSi....
  • 详解Java如何获取对象属性及对应

    千次阅读 2021-01-12 16:58:05
    利用反射获取对象的所有属性及对应的 1、获取属性名数组 private static String[] getFiledName(Object o) { Field[] fields = o.getClass().getDeclaredFields(); String[] fieldNames = new String[fields....
  • packagecom.gomepay.gb.utils.enums;importcom.gomepay.gb.utils....importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.math.BigDecimal;importjava.util....
  • 场景:java通过反射方式根据对象属性名称获取属性1.实现方法public static Double getFieldValueByFieldName(String fieldName,Object object) {try {Field field = object.getClass().getDeclaredField(fieldName)...
  • import java.lang.reflect.Field;import java.lang.reflect.Method;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Locale;import java.util.Map;import java...
  • java 获取实体类对象属性的方法

    千次阅读 2021-02-26 08:56:29
    java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到,如果想给某个属性赋值...
  • 获取java对象

    2021-03-06 22:16:39
    ResultSet 接口方法ResultSet 接口方法(由蚂蚁了了整理!)方法返回值类型 方法booleanabsolute(introw)JDBC 2.0。将游标移至结果集中的给定行号。...文章李博 bluemind2017-12-051772浏览量jsp九大内置对象与se...
  • /** 获取对象的属性和其对应的 * @throws Exception */ public static Map<String, Object> getFiledAndValue(Object object) throws Exception { String str = "Integer Long Short Byte Float Double ...
  • 直接上Demo:package aaa;import java.lang.reflect.Field;public class test {public static void main(String[] args) throws Exception{aa a...//获取class对象a中声明的所有字段Field[] field = a.getClass().ge...
  • 一、前言 ...现在在这里记录一下, 换了一个例子,获取Person对象的属性名和属性。 二、代码 Person对象: public class Person { private String firstName; private String lastName; public Pers
  • * java通过反射获取Java对象属性 * @param obj 对象 * @param propertyName 字段 * @return java.lang.Object */ public static Object getPropertyValue(Object obj, String propertyName) { try { ...
  • 内部形式是一个对象, 该对象具有用于按名称访问的get和opt方法, 以及用于按名称添加或替换的put方法。在Java中, 可以使用import org.json.JSONObject导入此类。 JSONObject类型的对象具有许多有用的方法来检索其...
  • 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...
  • Foo对象,field.get(obj)然后再次对其进行迭代以获取子类变量。但是,如何在没有该类实例的情况下获取每个子类成员变量的?我的平凡示例之所以有用,是因为Bar该类的每个实例的变量都相同,因此我可以调用...
  • 有没有办法获取Java对象的地址?问题来自哪里?:首先,我读取属性文件,并将文件中的所有数据放入表中。属性文件可以更新。所以,我想听那个文件。我使用PropertyChangeSupport和PropertyChangeListener监听对象。...
  • packagetest;importsun.rmi.runtime....importjava.lang.reflect.Field;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Locale;/*** Created by Admi...
  • java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题.例如:有一对象包含属性有一定规律obj1: {name1: "张三",age1: 1,name2: "李四",age2: 2,....}要将此对象拆为多个小对象...
  • java的JsonObject对象提取方法

    千次阅读 2021-03-11 16:45:45
    实例如下所示:import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import ...import io.swagger.models.auth.In;import java.io.IOException;import java.security.Ke...
  • Java如何基于反射获取对象属性信息,属性,对象,四种,建立一个,创建一个Java如何基于反射获取对象属性信息易采站长站,站长之家为您整理了Java如何基于反射获取对象属性信息的相关内容。先建立一个类,有四种属性:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,125,829
精华内容 450,331
关键字:

java获取对象值

java 订阅