Java在利用反射条件下替换英文字母中的值

(1)创建两个Class:

ReflectTest类如下:

package cn.itcast.day01;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;

public class ReflectTest {

	public static void main(String[] args) throws Exception {

		changeStringValue(pt1);
		System.out.println(pt1);
	}

	private static void changeStringValue(Object obj) throws Exception{
		Field[] fields = obj.getClass().getFields();
		for(Field field :fields){
			//if(field.getType().equals(String.class)){
			if(field.getType() == String.class){  //同一个字节码用等号  而不是用equal

				String oldValue = (String) field.get(obj);
				String newValue = oldValue.replace('b','a');
				field.set(obj, newValue);
			}
		}

	}

}

ReflectPoint类如下:

package cn.itcast.day01;

public class ReflectPoint {

	public String str1 = "ball";
	public String str2 = "basketball";
	public String str3 = "itcast";

	public ReflectPoint(int x, int y) {
		super();
		this.x = x;
		this.y = y;
	}

	public String toString(){
		return str1+":"+str2+":"+str3;

	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

结果为:aall:aasketaall:itcast

Java在利用反射条件下替换英文字母中的值

时间: 2024-10-14 00:49:35

Java在利用反射条件下替换英文字母中的值的相关文章

在一段英文字母中找出每个字母重复数量的方法(Java)

首先需要了解下java的hashmap数据类型: hashmap是基于哈希表的Map接口的实现.hashmap有两个元素,一个是key(键名),一个是value(键值),就相当于一个字典了,和Python里的字典是一样的. 在一段英文字母中找出每个字母重复数量的实现原理: 将文字中出现的字母,作为键名(key),出现的次数作为键值(value),hashmap中的键名是不能重复的,那么统计这些字母的数量,就变成了统计这些相同键名的数量. 实现方式可以是从第一个字母开始,把字母存到哈希表中去,第一

利用Entity Framework修改指定字段中的值

利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article model) { if (model.Id == 0) { return HttpNotFound(); } using (db) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); } return RedirectToAct

4种方法获取select下拉框标签中的值

选中下拉框中"上海" 代码如下:<select id="province" class="select" name="province"> <option value="0">请选择</option><option value="5">上海</option><option value="7">北京

laravel 在三级分类下拉选框中默认值

这是一个商品表,记录了商品的分类,分三类,顶级分类.一级分类.二级分类 在编辑修改商品的信息的视图 先得给控制器传递商品的 id ,根据 id 获取商品全部信息,以及获取所有分类信息 然后进行家谱树查找,参数为分类信息-数组,商品的分类id-整型 这样子得到了,子对父的二维数组, 将此二维数组,进行无限极分类,得到三位数组 第一维就是顶级分类,第二维是一级分类,第三维是二级分类 把得到的这个数组传给视图,循环遍历,输出值给option即可 家谱树代码: /** * 家谱树,通过子id找父id *

电脑26个英文字母按键紊乱解决方案

今天晚上,我自己遇到了一个棘手的问题--电脑键盘的26个英文字母按键出现紊乱的事情. 症状: 打开任意一文本文档,在电脑面板键盘上或者在电脑连接的外置键盘上点击26个英文字母中的相关按键时,有的英文字母可以正确显示在文本文档中,有的按键按下后,会出现一些其他的"功能".例如,当我按下"b"键时,鼠标光标跳出文本文档:当我按下"d"键时,文本文档缩小至最小化. 解决方案: 我自己在手机上查阅相关资料,尝试了近2小时,最后通过在文本文档中,按住快捷键

isupper(测试字符是否为大写英文字母)

/*isupper(测试字符是否为大写英文字母) 相关函数 isalpha,islower 表头文件 #include<ctype.h> 定义函数 int isupper(int c) 函数说明 检查参数c是否为大写英文字母. 返回值 若参数c为大写英文字母,则返回TRUE,否则返回NULL(0). 附加说明 此为宏定义,非真正函数 范例 */ /*找出字符串str中为大写英文字母的字符*/ #include <ctype.h> #include<stdio.h> ma

java小练习:输入一个字符,判断该字符是数字?英文字母?还是其他字符

package practiceGO; import java.util.Scanner; /*  * 3.输入一个字符,判断该字符是数字?英文字母?还是其他字符  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入一个字符:"); char ch = sc.next().charAt(0);

英文字母和中文汉字在不同字符集编码下的字节数

英文字母和中文汉字在不同字符集编码下的字节数 英文字母: 字节数 : 1;编码:GB2312 字节数 : 1;编码:GBK 字节数 : 1;编码:GB18030 字节数 : 1;编码:ISO-8859-1 字节数 : 1;编码:UTF-8 字节数 : 4;编码:UTF-16 字节数 : 2;编码:UTF-16BE 字节数 : 2;编码:UTF-16LE 中文汉字: 字节数 : 2;编码:GB2312 字节数 : 2;编码:GBK 字节数 : 2;编码:GB18030 字节数 : 1;编码:ISO

【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度

匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度:[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  其中:^