业务场景:一个房产交易系统中的业务需求,查询房屋交易状态接口,调用第三方接口返回一个vo对象,该对象的属性主要是描述该房屋的交易情况,比如是否抵押,是否被查封等,现在需要利用该对象的值决定返回给调用方的返回值。(现在一个对象中有很多个属性,大部分属性的值影响返回结果)
代码:
vo对象:
@Data
public class BDCQZTXX {
private String fwbm;
private String bdcdyh;
private String xzqhdm;
private String sfybdy;
private String sfzgedy;
private String sfzjgcdy;
private String sfcf;
private String sfycf;
private String sfyg;
private String sfydy;
private String sfyy;
private String sfdy;
private String sfsd;
private String sfdj;
private String sfzdzr;
private String sfzbyw;
private String bz;
.
.
.
模拟业务处理(测试)
public static void main(String[] args){
String s = "{\n" +
" \"fwbm\": \"1\",\n" +
" \"bdcdyh\": \"1\",\n" +
" \"xzqhdm\": \"1\",\n" +
" \"sfdy\": \"0\",\n" +
" \"sfzjgcdy\": \"0\",\n" +
" \"sfcf\": \"0\",\n" +
" \"sfyg\": \"0\",\n" +
" \"sfydy\": \"0\",\n" +
" \"sfyy\": \"0\",\n" +
" \"sfdyi\": \"0\",\n" +
" \"sfsd\": \"0\",\n" +
" \"sfdj\": \"0\",\n" +
" \"sfzdzr\": \"0\",\n" +
" \"sfzbym\": \"0\",\n" +
" \"bz\": \"\"\n" +
" }";
int sfks = 1;
BDCQZTXX bdcqztxx =JSONObject.parseObject(s, BDCQZTXX.class);
for (Field f : bdcqztxx.getClass().getDeclaredFields()) {
f.setAccessible(true);
String name = f.getName();
Object value = f.get(bdcqztxx);
Class<?> type = f.getType();
System.out.println(type);
if ("FWBM".equals(name) ||
"BDCDYH".equals(name) ||
"BZ".equals(name) ||
"XZQHDM".equals(name)) {
System.out.println("当前不影响判断的字段为 "+name + ":" + value);
continue;
System.out.println("当前影响判断的字段为 "+name + ":" + value);
if ("1".equals(String.valueOf(value))) {
sfks = 0;
break;
if (sfks == 1) {
System.out.println("可售");
if (sfks == 0) {
System.out.println("不可售");
.
.
.
就此完成!!!
业务场景:一个房产交易系统中的业务需求,查询房屋交易状态接口,调用第三方接口返回一个vo对象,该对象的属性主要是描述该房屋的交易情况,比如是否抵押,是否被查封等,现在需要利用该对象的值决定返回给调用方的返回值。(现在一个对象中有很多个属性,大部分属性的值影响返回结果)代码:vo对象:@Datapublic class BDCQZTXX { private String fwbm;//房屋编码 private String bdcdyh;//不动产单元号 private St
for (var Key in Statistics_Website_logo){
Websitelogo =Websitelogo+'&'+''+Key+'='+Statistics_Website_logo[Key]+'';
后台接收客户端传过来的值,经过相应的处理和操作,对数据库进行CURD操作。我们通常直接获取json对象,或创建一个dto对象映射json对象,并将值插入到固定的地方。如果客户端传递的参数特别多,前面的一对一的操作显然不太合适,这将编写大量看起来臃肿的代码。所以,更有效的方式是遍历json对象,数据表对象根据参数名称识别对应插入值的字段。
获取对象的所有属性
Field[] field =...
1.getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。2.getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
3.同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDe...
using (var context = new YZS_TRAEntities())
var entitys = context.医生扩展信息.Where(f => f.医生ID == 6196).FirstOrDefault();
//通过getDeclaredFields()方法获取对象类中的所有属性(含私有)
Field[] fields = voucher.getClass().getDeclaredFields();
for (Field field : fields) {
什么是方法重载
方法重载是指在
一个类
中定义多个同名的方法,但要求每个方法具有不同的参数的
类型或参数的个数。方法重载实际上就是方法的多元化,当
一个方法满足不了我们的需求的时候,需要再次添加多个方法,在进行调用的时候会很复杂。使用方法重载时根据实参的
类型或者数量来确定使用哪个方法。
方法重载的特点
参数的
类型不同
参数的个数不同
参数的个数相同时他们的先后顺序不同
namespace ConsoleApp1
public class Math
//计算器 求和
遍历对象方法一、
对象遍历方法1.==for...in==2.==Object.keys()==、==Object.values()==、==Object.entries()==3.==Object.getOwnPropertyNames()==4.==Object.getOwnPropertySymbols()==5.==Reflect.ownKeys()==
一、
对象遍历方法
1.for…in
for...in主要用于循环
对象属性。循环
中的代码每执行一次,就会对
对象的
属性进行一次操作。语法如下:
public static <T> Object processClassType(Object object, Class<T> clazz, Function<T, T> handler) {
log.info("处理指定类型,开始遍历返回值{}中的{}", object, clazz.getName());
if (cla...
com.alibaba.fastjson.JSONException: write javaBean error, fastjson version 1.2.75, class com.signatu
com.alibaba.fastjson.JSONException: write javaBean error, fastjson version 1.2.75, class com.signatu
菏院第二宅男:
idea不显示services窗口
sugar_cookie:
centos7安装mysql5.7