//遍历sqspb类 成员为String类型 属性为空的全部替换为“/”
Field[] fields = sqspb.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
// 获取属性的名字
String name = fields[i].getName();
// 将属性的首字符大写,方便构造get,set方法
name = name.substring(0, 1).toUpperCase() + name.substring(1);
// 获取属性的类型
String type = fields[i].getGenericType().toString();
// 如果type是类类型,则前面包含"class ",后面跟类名
if (type.equals("class java.lang.String")) {
Method m = sqspb.getClass().getMethod("get" + name);
// 调用getter方法获取属性值
String value = (String) m.invoke(sqspb);
System.out.println("数据类型为:String");
if (value == null || value.equals("")) {
//set值
Class[] parameterTypes = new Class[1];
parameterTypes[0] = fields[i].getType();
m = sqspb.getClass().getMethod("set" + name, parameterTypes);
String string = new String("/");
Object[] objects = new Object[1];
objects[0] = string;
m.invoke(sqspb, objects);
}
}
}
Java循环遍历中直接修改遍历对象
Java 循环遍历中直接修改遍历对象如下,会报异常: for (ShopBaseInfo sp: sourceList) { if(sp.getId()==5){ sourceList.remove( ...
第三节 java 数组(循环遍历、获取数组的最值(最大值和最小值)、选择排序、冒泡排序、练习控制台输出大写的A)
获取数组的最值(最大值和最小值) 思路: 1.获取最值需要进行比较,每一次比较都会有一个较大的值,因为该 值不确定,需要一个变量进行临储. 2.让数组中的每一个元素都和这个变量中的值进行比较,如果大于 ...
JavaScript 中的常用12种循环遍历(数组或对象)的方法
1.for 循环 let arr = [1,2,3]; for (let i=0; i
java中遍历MAP,嵌套map的几种方法
java中遍历MAP的几种方法 Map map=new HashMap(); map.put("us ...
阶段3 1.Mybatis_05.使用Mybatis完成CRUD_8 Mybatis中的返回值深入-调整实体类属性解决增和改方法的报错
如果实体类和数据库表内的字段没有保持一致 修改了属性子弹. 重新生成getter和setter还有toString方法 测试类里面,相关set的方法就都会报错. 只需要修改为最新的set方法就可以了. ...
Python的list循环遍历中,删除数据的正确方法
在遍历list,删除符合条件的数据时,总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_lis ...
Java关于Math类的三个取整方法
0x01 在java的Math类中有三个关于浮点数取整数的方法,分别是ceil (向上取整) floor(向下取整) round(四舍五入) 三个方法 0x02 ceil 向上取整,取整后总是比原来的 ...
java oop遍历List和Map的几种方法
一.list的遍历 import java.util.*; public class ListTest { public static void main(String[] args) { List& ...
java中遍历类中的属性、调用getter&;setter方法
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...
随机推荐
ffmpeg-20160929-bin.7z
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 5 屏幕横向放大 20 像素 6 屏幕横向缩小 20 像素 S 下一帧 [ -2秒 ] +2 ...
导出Excel And 导出word
monkeyrunner之环境搭建及实例(三)
Monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器. 一.Monkeyrunner简介 1.MOnkeyrunner相对Mo ...
Android wakelock机制
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者 ...
Java实现平衡二叉树(AVLTree)的构建
近期在学习数据结构上关于平衡二叉树的知识,看了严老师的思路,感觉用java写出递归的构建方式有点困难,由于当中的递归须要把引用传进去,所以感觉是要实现起来比較麻烦,所以就首先想到使用非递归的方式来实现 ...
Linux下装VirtualBox
一:下载 进入VirtualBox的下载地址:https://www.virtualbox.org/ 点击左侧的download, 选择适合自己系统的版本,我的是红帽,故选择: 进行下载. 二:安装 ...
web api 文档声明
namespaceHelloWebAPI.Controllers{ usingHelloWebAPI.Models; usingSystem; usingSystem.Coll ...
MySQL数据库入门笔记
2 数据库入门 2.1引入 数据保存到内存: 优点: 1)读写非常快 缺点: 1)程序关闭导致数据丢失 数据保存到文件: 优点: 1)数据可以永久保存 缺点: 1)频繁地IO操作,效率不高! 2)数据 ...
windows服务器环境问题---api-ms-win-crt-runtimel1-1-0.dll缺失解决
安装VC++库 地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
three.js中的文字
1.三维文字 三维字体文字,使用的是FontLoader,字体文件通过来facetype.js生成 addCityText: function () { var self = this; var ci ...