类成员的反射,暴力反射,应用实例

【EXCEL】无需插件!用Power Query高效合并多Sheet数据 本文详细介绍了如何使用Excel内置的Power Query工具高效合并多个Sheet数据,无需插件或VBA编程。通过可视化操作和自动化流程,Power Query能快速处理大量数据,提升工作效率。文章包含从环境配置到高级技巧的完整指南,特别适合需要频繁合并Excel数据的用户。 阅读详情
import java.lang.reflect.Field;

class  Point
{
	private int x;
	public  int y;
	public  String str1 = "ball";
	public  String str2 = "basketball";
	public  String str3 = "itcast";
	
	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}

	public Point(int x, int y) 
	{
		super();
		this.x = x;
		this.y = y;
	}
	
	public String toString()
	{
		return ("str1 ="+str1+"\n"+"str2="+str2+"\nStr3="+str3);
	}
}
class Test
{
	public static void main(String [] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
	{
		Point  p1 = new Point(3,5);
		
		System.out.println("Point的 x="+p1.getX());
		System.out.println("Point的 y="+p1.getY());
		
		Field  fieldY = p1.getClass().getField("y");
		
		System.out.println("得到类名:"+p1.getClass());
		System.out.println("得到类的指定成员名:"+p1.getClass().getField("y"));
		System.out.println("通过传入特定对象,得到指定对象指定成员的值:"+fieldY.get(p1));
		
		System.out.println("======================================================");
		
		//Field  fieldX = p1.getClass().getField("x");//不能直接获取私有成员,会报异常java.lang.NoSuchFieldException
		
		Field  fieldX = p1.getClass().getDeclaredField("x");//
		
		System.out.println("得到类名:"+p1.getClass());
		
		
		fieldX.setAccessible(true);//针对私有成员此处设置为true后可以得到私有成员的值,成为暴力反射。
		
		System.out.println("通过传入特定对象,得到指定对象指定成员的值:"+fieldX.get(p1));		
		
		System.out.println("======================================================");
		
		changeStringValue(p1);
		
		System.out.println(p1);
	}

	/**
	 * 通过反射修改传入类的所有String类型成员的内容(如果是b就改成a)
	 * @param obj  
	 * @return 
	 * 便利
	 * 
	 * */
	private static void changeStringValue(Object obj) throws IllegalArgumentException, IllegalAccessException 
	{
		// TODO Auto-generated method stub
		
		Field[] fields = obj.getClass().getFields();
		
		for(Field field : fields)
		{
			if(field.getType()==String.class)
			{
				String oldValue = (String)field.get(obj);
				
				String newValue = oldValue.replace("b", "a");
				
				field.set(obj, newValue);	
			}
			
		}
		
		
	}
}

打印结果:

Point的 x=3
Point的 y=5
得到类名:class Point
得到类的指定成员名:public int Point.y
通过传入特定对象,得到指定对象指定成员的值:5
======================================================
得到类名:class Point
通过传入特定对象,得到指定对象指定成员的值:3
======================================================
str1 =aall
str2=aasketaall
Str3=itcast


【干货】建议收藏! ! !全网最全的Python.openpyxl操作Excel数据 Python 操作 Excel 存取数据1. openpyxl 模块1.1 安装 openpyxl 模块1.2 Excel 文件的三个对象1.2.1 Workbook 对象1.2.2 Worksheet 对象1.3.3 Cell2. Python 操作 Excel2.1 Python 操作 Excel 之读取打开本地工作簿,获取所有工作表名称创建工作表根据工作表名称获取工作表获取单元格对象及单元格的值获取单元格的行、列及值读取整行、整列及部分几行 1. openpyxl 模块 对比其它编程语言,我们都知道 阅读详情

相关推荐

100天精通Python丨办公效率篇 —— 10、Python自动化操作 office-excel(读写、增删改查、分组统计)

操作 Excel 文件可以帮助您在办公室中自动化许多任务,从而提高生产力。

独木不成林,单弦不成音。 4万+

暴力反射---如何给私有的字段赋值以及调用私有的方法

暴力反射---如何给私有的字段赋值以及调用私有的方法 一、首先了解下什么是反射 1.1、反射:在程序运行过程中(动态),可以对任意一个类型进行任意的操作。例如:加载任意类型、调用类型的任意方法、获取任意的成员变量、构造方法,可以创建该类型的对象 1.2、对于任意一个对象,都能调用这个对象的任意一个方法 1.​3、如果要获取一个类型的各种内容,首先要获取这个类的字节码对象(字节码对象属于 Class类型) 1.​4、解剖这个类型,获取类中的成员,需要使用Class类

weixin_46816383的博客 3032

Python基础教程:轻松导入EXCEL数据

Python作为一种高级编程语言,在数据处理领域有着广泛的应用。对于Excel数据的处理,Python提供了强大的库支持,如pandas和openpyxl,这些库不仅支持复杂的操作,还提供了简洁的接口,使得处理数据变得简单快捷。除了直接指定工作表名称或索引,pandas还支持使用sheet_name参数来读取单个工作表或多个工作表。

weixin_32324637的博客 1123

java高级——暴力反射

java高级——暴力反射 反射,java中一个比较高级的应用,主要和开发中的框架紧密相连。今天我们就介绍一下他的特性之一,暴力反射。(听名字很恐怖呦) 复制代码 package wo; public class A{ public String x=“abc”; private String y=“bbc”; } package wo; import java.lang.reflect.Field...

top8488.top大数据 3058

自动化处理Excel电子表格的Python技巧

本文介绍了如何利用Python及其库OpenPyXL来自动化处理Excel电子表格数据。通过实例讲解了如何导入、读取、编辑和保存Excel文件,包括如何创建和删除工作表、写入单元格的值、调整行高和列宽,以及合并和取消合并单元格。本文还提供了一个实际项目案例,展示了如何更新农产品销售电子表格中的价格信息。

weixin_42323064的博客 876

利用反射暴力调用方法 利用反射暴力为属性赋值

该资源简述了对所有方法进行调用,属性进行赋值.一般情况下private protected 访问修饰符号的方法和属性不能被调用,受到限制.该资源得到了很好的解决!

暴力反射_40

什么是暴力反射? 指可以将程序中的私有的属性或者方法通过反射技术,暴力的获取到资源。需要使用的常见方法如下: 暴力反射获取变量名并修改变量名 类: class Hospital00007{ private String name="常熟第一人民医院"; private int num= 138; private void run(String name,int num){ System.out.println(name+"有:"+num+"人"); }

猫腻的博客 391

飞思卡尔16位单片机(二)——CodeWarrior开发环境搭建及新建、调试工程

一、安装CodeWarrior 飞思卡尔16位单片机的开发环境为CodeWarrior5.1,这个软件安装比较简单,软件的安装文件可以从相应的网站上下载。安装CodeWarrior所需要的电脑的硬件资源也比较宽泛,目前一般的电脑都可以满足这个要求,可以支持win10、win7等操作系统。安装过程按照按照软件的提示一步步操作即可。 二、安装USBDM驱动 USBDM是...

bigmarshal的博客 1万+

了解java中暴力反射

了解暴力反射之前,先复习一下反射的基本知识。 一、什么是反射? 反射非常强大,它甚至能直接操作程序的私有属性。我们前面学习都有一个概念,被private封装的资源只能类内部访问,外部是不行的,但这个规定被反射赤裸裸的打破了。 反射就像一面镜子,它可以在运行时获取一个类的所有信息,可以获取到任何定义的信息(包括成员变量,成员方法,构造器等),并且可以操纵类的字段、方法、构造器等部分。 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意

QyangR1123的博客 1万+

告别U盘!在Ubuntu 22.04上从零搭建PXE网络装机服务器(支持UEFI/Legacy双启动)

本文详细介绍了在Ubuntu 22.04上搭建PXE网络装机服务器的完整流程,支持UEFI/Legacy双启动模式。通过配置DHCP、TFTP和HTTP服务,实现无需U盘的高效批量系统部署,解决传统安装方式的介质依赖、版本控制和时间成本问题,显著提升机房维护和设备部署效率。

weixin_42569329的博客 249

BBR算法原理与实现深度解析

BBR算法通过重新定义拥塞控制的基本范式,为现代网络应用提供了突破性的解决方案。随着QUIC协议的普及和智能网卡技术的发展,BBR类算法将在边缘计算、云游戏、工业物联网等领域发挥更重要的作用。

程序猿老樊的博客 2418

反射的总结及暴力反射的使用

1 .需要掌握的留个单词 class 类 constructor 构造 method 方法 field 字段 instance 实例 invoke 执行 2 .一个类(class)的字节码文件的三种获取方式 一: 类名.class 二: 实例.getClass() 三: Class....

Coding Earth Engine 1946

SAP生产版本导入避坑大全:从‘黄灯’到‘绿灯’,详解CM_FV_MKAL_CONSISTENCY_CHECK检查函数

本文深入解析SAP生产版本导入过程中的常见问题,特别是通过`CM_FV_MKAL_CONSISTENCY_CHECK`检查函数从‘黄灯’异常到‘绿灯’正常的修复方法。涵盖静态与动态校验机制、典型异常场景诊断及批量导入最佳实践,帮助SAP运维人员高效解决生产版本管理难题。

weixin_30568591的博客 388

VBA合并Excel工作表:从基础到高级的自动化实战指南

在数据处理与办公自动化领域,Excel的自动化操作是提升效率的核心技能。其原理是通过编程语言控制软件,将重复性手动操作转化为可重复执行的脚本,从而释放人力专注于更高价值的数据分析与决策。VBA(Visual Basic for Applications)作为内置于Microsoft Office的编程语言,是实现这一目标的关键技术,尤其擅长处理Excel内部的复杂任务。其技术价值在于能将数小时甚至数天的手工劳动压缩为一次点击,大幅减少人为错误,提升工作流的可靠性与可重复性。典型的应用场景包括月度销售报表汇总

weixin_30660027的博客 385

网络工程师软考通关指南:网络新技术与应用深度解析

网络安全与管理是网络工程师必须掌握的核心技能,华为设备在企业网络中广泛应用。建议考生在理解安全原理的基础上,重点掌握华为特有的命令体系和配置方法,通过模拟实验加深理解。下篇文章将深入讲解"网络优化与QoS"章节,涵盖流量调度、拥塞避免、服务质量等关键技术,敬请期待。

Programming Talk 253

30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用

2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Driven Development,即通过开发维护了对应annotation(注解)的CDS view,结合SAP WebIDE,能够花费最少的编程代价,就能够在短时间内获得一个支持增删改查的Fiori应......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5952

【Python处理Excel】之openpyxl详解

本文介绍python中的openpyxl库它可以对Excel文件进行读写、修改、样式等操作

weixin_42636075的博客 2325

老款 NUC 复活计划:装 Ubuntu 部署 OpenClaw 本地 AI

老款 NUC 变身本地 AI 服务器指南 本文详细介绍了如何将老旧华硕 NUC 设备改造为本地 AI 服务器。主要内容包括: 硬件评估:列出老款 NUC 的最低配置要求(i3 6代/8GB内存/256GB SSD),并提供兼容性检查命令和性能预期表 系统准备:指导备份数据、下载 Ubuntu 22.04 LTS 和制作启动盘的方法(Windows/Linux双平台) 安装流程:从 BIOS 设置到 Ubuntu 安装的完整步骤,包括推荐的分区方案 系统优化:禁用不必要的服务、内核参数调优、Swap 配置和

博客 7608

Python.openpyxl操作Excel

Python 操作 Excel 存取数据 1. openpyxl 模块 1.1 安装 openpyxl 模块 1.2 Excel 文件的三个对象 1.2.1 Workbook 对象 1.2.2 Worksheet 对象 1.3.3 Cell 2. Python 操作 Excel 2.1 Python 操作 Excel 之读取 2.1.1 打开本地工作簿,获取所有工作表名称 2.1.2 创建工作表 2.1.3 根据工作表名称获取工作表 2.1.4 获取单元格对象及单元格的值 2.1.5 获取单元格的行、列及值

bingbangx的博客 1万+

Windows11上pip安装IsaacSim5.1.0与IsaacLab

本文详细介绍了CUDA Toolkit 12.8.0、IsaacSim和IsaacLab的安装过程。首先从NVIDIA官网下载并安装CUDA Toolkit 12.8.0,然后通过miniforge创建conda环境(env_isaacsim)安装IsaacSim相关Python包,解决了Windows长路径问题。成功运行IsaacSim后,克隆IsaacLab仓库并完成安装验证,最后通过创建空场景测试环境配置。整个安装过程包含详细的命令行操作和问题解决方法,为机器人仿真开发环境搭建提供了完整指导。

拥抱具身智能,昇腾Ascend C 378

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

excel vba 调用webbrowser_VBA 合并工作簿

无论在知乎还是在其他一些网站,都有提问或描述如何才能合并多个工作簿。回答中不乏有推荐power query 之类。power query是新版Excel的功能,看过其简介,的确能感觉到它的强大。不过像我一样用着老版本的Excel的人,并没有福分去分享它的强大能量,毕竟新版office对电脑的配置、系统版本,还是破解等方面,都是懒人所惧的。不过,听说它有针对Office 2010以上版...

weixin_39632891的博客 416

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

利用Python对Excel数据进行条件筛选与排序

pandas的核心数据结构是DataFrame,它类似于Excel中的表格,拥有行和列。每列可以是不同的数据类型(数值、字符串、布尔值等),提供了丰富的数据操作函数,如筛选、排序、分组、合并等。在当今数据驱动的商业环境中,Excel作为数据管理和分析的传统工具,其重要性不言而喻。然而,随着数据量的爆炸性增长和复杂性的提升,手动处理Excel数据变得既耗时又低效。幸运的是,Python及其强大的pandas库为我们提供了一种高效、自动化的解决方案,使得Excel数据的条件筛选和排序变得轻而易举。

这家伙很懒,什么都没有留下 2985

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python处理excel的库_python处理excel之第三方库openpyxl

openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。其他很多的与Excel相关的项目基本只支持读或者写Excel一种功能。python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/x...

weixin_39775354的博客 217

使用Python对Excel数据进行筛选与排序的技术性探讨

pandas的核心数据结构是DataFrame,它类似于Excel中的表格,拥有行和列。每列可以是不同的数据类型(数值、字符串、布尔值等),提供了丰富的数据操作函数,如筛选、排序、分组、合并等。通过本文的介绍,我们了解了如何使用Python和pandas库对Excel数据进行条件筛选和排序操作。从读取Excel文件、单条件和多条件筛选、单列和多列排序,到实际案例分析,我们逐步深入了解了pandas在数据处理中的强大功能。希望这些内容能够帮助新手朋友快速上手,并在实际的数据分析和处理工作中发挥重要作用。

这家伙很懒,什么都没有留下 1795

delphi excel取批注所在的行列_常用Excel小技巧,你离高手更近一步!

技巧1:单元格内强制换行在单元格中某个字符后按alt+回车键,即可强制把光标换到下一行中。技巧2:锁定标题行选取第2行,视图 - 冻结窗格 - 冻结首行(或选取第2行 - 冻结窗格)冻结后再向下翻看时标题行始终显示在最上面。技巧3:打印标题行如果想在打印时每一页都显示标题,页面布局 - 打印标题 - 首端标题行:选取要显示的行技巧4:查找重复值选取数据区域 - 开始 - 条件格式 - 突...

weixin_32367041的博客 203

sql语句查询一个表的列数

sql语句查询一个表的列数  分享| 2010-07-27 09:54DingRaul | 浏览 6390 次  SQL select count(name) from syscolumns where id=(select id from sysobjects where xtype='u' and name='表名') 我在网上搜的这个 谁能给解释一下 :count(n

evilcry2012的专栏 3133
上一篇: Java快捷键设置,模板设置
下一篇: Java国际化,获取java支持的语言和国家列表
T_ALmighty
博客等级 码龄16年 8粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值