import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 反射处理Bean,得到里面的属性值
*
* @author liulinsen
*
*/
public class ReflexObjectUtil {
/**
* 单个对象的所有键值
*
* @param object
* 单个对象
*
* @return Map<String, Object> map 所有 String键 Object值 ex:{pjzyfy=0.00,
* xh=01, zzyl=0.00, mc=住院患者压疮发生率, pjypfy=0.00, rs=0, pjzyts=0.00,
* czydm=0037, lx=921, zssl=0.00}
*/
public static Map<String, Object> getKeyAndValue(Object obj) {
Map<String, Object> map = new HashMap<String, Object>();
// 得到类对象
Class userCla = (Class) obj.getClass();
/* 得到类中的所有属性集合 */
Field[] fs = userCla.getDeclaredFields();
for (int i = 0; i < fs.length; i++) {
Field f = fs[i];
f.setAccessible(true); // 设置些属性是可以访问的
Object val = new Object();
try {
val = f.get(obj);
// 得到此属性的值
map.put(f.getName(), val);// 设置键值
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
/*
* String type = f.getType().toString();//得到此属性的类型 if
* (type.endsWith("String")) {
* System.out.println(f.getType()+"\t是String"); f.set(obj,"12") ;
* //给属性设值 }else if(type.endsWith("int") ||
* type.endsWith("Integer")){
* System.out.println(f.getType()+"\t是int"); f.set(obj,12) ; //给属性设值
* }else{ System.out.println(f.getType()+"\t"); }
*/
}
System.out.println("单个对象的所有键值==反射==" + map.toString());
return map;
}
/**
* 单个对象的某个键的值
*
* @param object
* 对象
*
* @param key
* 键
*
* @return Object 键在对象中所对应得值 没有查到时返回空字符串
*/
public static Object getValueByKey(Object obj, String key) {
// 得到类对象
Class userCla = (Class) obj.getClass();
/* 得到类中的所有属性集合 */
Field[] fs = userCla.getDeclaredFields();
for (int i = 0; i < fs.length; i++) {
Field f = fs[i];
f.setAccessible(true); // 设置些属性是可以访问的
try {
if (f.getName().endsWith(key)) {
System.out.println("单个对象的某个键的值==反射==" + f.get(obj));
return f.get(obj);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
// 没有查到时返回空字符串
return "";
}
/**
* 多个(列表)对象的所有键值
*
* @param object
* @return List<Map<String,Object>> 列表中所有对象的所有键值 ex:[{pjzyfy=0.00, xh=01,
* zzyl=0.00, mc=住院患者压疮发生率, pjypfy=0.00, rs=0, pjzyts=0.00,
* czydm=0037, lx=921, zssl=0.00}, {pjzyfy=0.00, xh=02, zzyl=0.00,
* mc=新生儿产伤发生率, pjypfy=0.00, rs=0, pjzyts=0.00, czydm=0037, lx=13,
* zssl=0.00}, {pjzyfy=0.00, xh=03, zzyl=0.00, mc=阴道分娩产妇产伤发生率,
* pjypfy=0.00, rs=0, pjzyts=0.00, czydm=0037, lx=0, zssl=0.00},
* {pjzyfy=0.00, xh=04, zzyl=0.75, mc=输血反应发生率, pjypfy=0.00, rs=0,
* pjzyts=0.00, czydm=0037, lx=0, zssl=0.00}, {pjzyfy=5186.12,
* xh=05, zzyl=0.00, mc=剖宫产率, pjypfy=1611.05, rs=13, pjzyts=7.15,
* czydm=0037, lx=13, zssl=0.00}]
*/
public static List<Map<String, Object>> getKeysAndValues(List<Object> object) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (Object obj : object) {
Class userCla;
// 得到类对象
userCla = (Class) obj.getClass();
/* 得到类中的所有属性集合 */
Field[] fs = userCla.getDeclaredFields();
Map<String, Object> listChild = new HashMap<String, Object>();
for (int i = 0; i < fs.length; i++) {
Field f = fs[i];
f.setAccessible(true); // 设置些属性是可以访问的
Object val = new Object();
try {
val = f.get(obj);
// 得到此属性的值
listChild.put(f.getName(), val);// 设置键值
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
list.add(listChild);// 将map加入到list集合中
}
System.out.println("多个(列表)对象的所有键值====" + list.toString());
return list;
}
/**
* 多个(列表)对象的某个键的值
*
* @param object
* @param key
* @return List<Object> 键在列表中对应的所有值 ex:key为上面方法中的mc字段 那么返回的数据就是: [住院患者压疮发生率,
* 新生儿产伤发生率, 阴道分娩产妇产伤发生率, 输血反应发生率, 剖宫产率]
*/
public static List<Object> getValuesByKey(List<Object> object, String key) {
List<Object> list = new ArrayList<Object>();
for (Object obj : object) {
// 得到类对象
Class userCla = (Class) obj.getClass();
/* 得到类中的所有属性集合 */
Field[] fs = userCla.getDeclaredFields();
for (int i = 0; i < fs.length; i++) {
Field f = fs[i];
f.setAccessible(true); // 设置些属性是可以访问的
try {
if (f.getName().endsWith(key)) {
list.add(f.get(obj));
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
System.out.println("多个(列表)对象的某个键的值列表====" + list.toString());
return list;
}
}
相关推荐
MCGSPro动画部件实战:用文本分段实现智能报警提示(附工程文件)
本文详细介绍了在MCGSPro组态软件中,如何利用动画部件的文本分段功能,高效实现触摸屏上的智能报警提示。通过绑定整数变量作为索引,一个部件即可动态切换多种状态信息,解决了传统方法画面臃肿、维护繁琐的痛点。文章提供了从变量定义、部件配置到逻辑联动的完整实战教程,并分享了工程文件复用与性能优化技巧。
java map取列表值,List<Map<String,Object>>使用Java代码遍历以获取String,Object的值
package utils;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/*** List>实例* @author zhanghuxin* @Version 1.0, 2015年2月5日 上午9:44:50*/public class ListM...
电感损耗 DCR/ACR/磁芯损耗 3 大来源解析:从集肤效应到磁滞回线
本文深入解析电感损耗的三大来源:DCR(直流电阻)、ACR(交流电阻)和磁芯损耗,从集肤效应到磁滞回线的微观机制。通过对比不同材料和设计策略,提供高频开关电源中电感损耗的优化方案,帮助工程师提升系统效率和可靠性。
判断Object中数据类型(已知类型、未知类型))
一、已知数据类型 接收到的数据类型为Object,如果知道数据的类型可以使用ObjectMapper进行处理,得到里面的参数。 import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.HashMap; public class Test02 { public static void main(String[] args) throws IOException {
Cadence IC5141保姆级教程:Bandgap电路四大仿真(稳定性/噪声/启动/PSRR)完整流程与调参心得
本文提供Cadence IC5141中Bandgap电路的四大仿真(稳定性仿真、噪声仿真、启动仿真、PSRR仿真)的完整流程与调参心得。从原理图检查到ADE L配置,详细解析各仿真步骤的关键参数设置与优化策略,帮助工程师高效完成电路设计与性能调优。
Oracle EBS与SAP数据数据切换至迁移华为MetaERP分析
Oracle EBS到华为MetaERP的数据迁移可采用“表对表复制”思路,因其模块化设计下数据模型标准化、边界清晰。核心业务对象存储在结构明确的主表中,与MetaERP模型兼容度高,便于直接映射。而SAP到MetaERP的迁移则因SAP高度优化的复杂表结构(如簇表/池表)、数据分散冗余、深度依赖配置等特点,无法简单复制,必须采用基于业务对象的迁移方法,通过视图/BAPI提取数据并进行深度转换。两种迁移的本质差异源于源系统的数据模型设计理念不同。
java-获取Map中list后如何转换为List<Object>
list对象转换
Floyd (弗洛伊德)算法简述
Floyd在1962年由Robert Floyd以其当前公认的形式出版。算法作为三个嵌套for循环的现代公式首先由Peter Ingerman在1962年描述。Floyd 算法是解决图论问题的比较经典的算法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图的最短路径问题。
获取List<Map<String, Object>>的值
获取List<Map<String, Object>>的值: List<Map<String, Object>> list =dao.queryTime(id); for(int j = 0 ; j < list.size() ; j ++){ // 打印"startTime"的值,Object转成String System.out.pri...
69页完整版智慧港口综合解决方案
智慧港口需求4港机远程操控等自动化改造需求自动化码头AGV无线通信及专用视频系统需求安全生产视频监控类需求港机RCMS及设备管理需求岸边智能理货码头三维全景应用智慧港口解决方案5自动化码头AGV/跨运车/无人集卡无线接入港机远控视觉及冗余无线通信视觉集卡防吊起系统集装箱码头岸边智能理货港机RCMS系统无线接入港机智能化管理(无线高清视频监控、一键报警、远程抄表系统)港口拖轮无线接入岸边溢油监测系统TD-LTE覆盖及业务终端接入港口生产管理系统港口可视化集群调度港口GiNMS综合网络设备智能管理全球作业效率最
第95节:多模型多卡推理管理
多模型推理:在同一硬件平台上同时部署多个不同或相同的深度学习模型,满足多任务需求。多卡推理:利用多块 GPU 资源,提升推理吞吐量与并发能力。目标:合理分配 GPU 资源,实现高效、低延迟的推理服务。
Java List<Object>取出Object中某个属性转成对应的List<String>,List<int>,和拼接成字符串
转成对应的List: //数据库查全部的Teacher List<Teacher> list = teacherMapper.selectAll(); //转成id列表 List<Integer> collect = list.getList().stream().map(Teacher::getId).collect(Collectors.toList()); 拼接成字符串: //数据库查全部的Teacher List<Teacher> list = teacher
XSS漏洞之PDF生成:从XSS到服务端任意文件读取
XSS是最为常见的Web漏洞之一,多年来连续入选OWASP TOP10,相信大家都耳熟能详。 它是一种代码注入类的攻击,是一种客户端侧的攻击,攻击者通过在Web应用中注入恶意JavaScript代码,通过点击URL,最终在受害者浏览器端执行的一种漏洞。主要有反射型XSS、存储型XSS、基于DOM的XSS三类。XSS一些比较常规的危害大概有:重定向浏览器、窃取Cookie、浏览器劫持等。本文章侧重于发现XSS后的进一步利用。 主要介绍在某次实际测试过程中,发现XSS漏洞之后,如何进一步的利用,最终通过XSS达
Java中找出List集合中属性名为key属性值为value的对象
前言:在日常开发中,我们需要从一个 List 集合中找出其中某一个对象,下面就介绍如何从 List 集合中找出属性名为 key 属性值为 value 的对象 1、方法 getObjectByKeyAndValue /** * 在一个实体list中,找出属性是key,值为value的实体 * * @param list * @param key * @param value * @param <T> * @return */ private static <T> T g
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
反射获取List中的值
参考:添加链接描述 获取List以及List中类的属性值的参考代码: public static List getListFieldValueByObject (Object object , String targetFieldName) throws Exception { List<Object> returnList = new ArrayList<>(); // 获取该对象的Class Class objClass = object.getClas
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
通过反射获取对象某个属性的值
通过反射获取对象某个属性的值 public class DataLinkAspect { private static String[] types = { "java.lang.Integer", "java.lang.Double", "java.lang.Float", "java.lang.Long", "java.lang.Short", "java.lang.Byte...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
查找list集合中存储的对象的属性值的方法
查找list集合中存储的对象的属性值的方法 package com.lld.list.utils; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import com.lld.model.TestModel; /** * 查找list集合中,存储的对象的,属性值的方法 ...
java 反射处理集合_java 反射获取属性/集合学习
1、获取集合方法2、获取属性3、获取属性的属性值并修改属性值4、Filed主要方法介绍获取集合方法(只是针对android)BAFAppManager.classprivate static Stack activityStack; //我想获取这个activityStack集合public Activity currentActivity() {Activity activity = (Act...
java 通过反射获取对象中list属性值
反射的定义、机制等等概念网上有很多,这里就不做过多的赘述了,本文主要介绍通过反射机制获取对象中一个list属性的值,并将值赋值到另一个对象中。 上代码: 1.实体类 package com.study.reflex; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor public class Women { private Integer id; private String na
反射获取对象中的list数据
工具类: package com.wm.javayu.utils; import com.wm.javayu.model.Student; import com.wm.javayu.model.Teacher; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtil...
反射获取对象属性含list
前言,在大型项目中很少会直接使用form提交表单到后台直接使用的。由于存在多个系统的相互调用,为了兼容和解耦,通常会使用xml或json传送数据。在xml转到service中的pojo类的时候一般会使用到反射,在转换list属性的时候,不能直接使用类似targetField=sourceField的方式,会改变目标类中引用的地址,导致service中无法引用到pojo类。所以要获取list中的对象...
java 通过反射给对象的属性赋值、包含list对象
private static void setSendEmailDto(OrdOrderSendEmailDto dto){ Field[] field = dto.getClass().getDeclaredFields(); try{ for (int i = 0; i < field.length; i++) { String name = field[i].getName(); name = name.sub.
将Object对象里面的属性和值转化成Map对象,包括嵌套类型
需求 需要将Object对象里面的属性和值转化成Map对象,包括嵌套类型,这里我是往已有的map赋值 工具类 import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.springframework.util.Assert; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType;
Java - 找出 List 集合中属性名为 key 属性值为 value 的对象
Java - 找出 List 集合中属性名为 key 属性值为 value 的对象
java通过反射获取list_静态方法通过反射获取list集合
静态方法工具/*** 反射获取对象中的list数据** @param object*/public static List getList(Field field, Object object) {List resultList = new ArrayList<>();if (object != null) {try {Class clzz = field.get(object).g...
对List对象集合按照对象多个属性排序
针对Object对象中属性排序,可指定多个属性排序。 注意:若是需要排序的字段是父类中的字段,需要子类重写该字段和get set方法,否则反射时找不到对应字段。 /** * Created by 高明亮 on 2020/4/16. */ public class ListSortUtils { /** * 对list的元素按照多个属性名称排序, * list元素的属性可以是数字(byte、short、int、long、float、double等,
172



被折叠的 条评论
为什么被折叠?



