反射过滤传入为空或空字符串字段

/**
* 判断前台传入查询筛选条件是否为空
* @param obj
* @return b true 为空 false 不为空
*/

public boolean initQuery(Object obj){
boolean b = true;
List list = new ArrayList<>();
try {
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields){
String filedName = field.getName();
if (“count”.equals(filedName)){
continue;
}
PropertyDescriptor pd = new PropertyDescriptor(field.getName(), clazz);
Method getMethod = pd.getReadMethod();//获得get方法
Method setMethod = pd.getWriteMethod();//获得set方法
if (Objects.nonNull(getMethod.invoke(obj))){
String value = String.valueOf(getMethod.invoke(obj)).trim();
if (StringUtils.isEmpty(value)){
setMethod.invoke(obj, (Object) null);
continue;
}
list.add(getMethod.invoke(obj));
}
}
} catch (Exception e) {
log.info(“查询反射失败”);
e.printStackTrace();
}
b = CollectionUtils.isEmpty(list)?true:false;
return b;
}

### 回答1: Java中可以使用 `string.trim()` 方法将前端传入字符串的前后过滤掉。 如果要过滤字符串中所有的格,可以使用 `string.replaceAll("\\s", "")` 方法。 如果要过滤掉所有的字符串,可以使用 `string.isEmpty()` 方法判断字符串是否为空。 例如: ``` String str = " Hello World! "; str = str.trim(); if (!str.isEmpty()) { System.out.println(str); } ``` 上面的代码会将字符串中的前后过滤掉,然后判断字符串是否为空,如果不为空,就输出字符串。 ### 回答2: 在Java中过滤前端传入字符串可以通过字符串的`trim()`方法来实现。`trim()`方法可以删除字符串前后的格,如果字符串仅包含格,则将其删除并返回一个长度为0的字符串。 我们可以通过以下步骤来过滤字符串: 1. 首先,获取前端传入字符串。 ```java String input = frontendInput.trim(); ``` 2. 然后,使用`isEmpty()`方法检查字符串是否为空。 ```java if (!input.isEmpty()) { // 字符串为空的处理逻辑 } ``` 3. 如果字符串为空,可以继续进行后续处理,如果为空则可以对其进行相应的处理,例如返回错误信息或者使用默认值。 ```java if (!input.isEmpty()) { // 字符串为空的处理逻辑 } else { // 字符串为空的处理逻辑 } ``` 通过以上步骤,我们可以将前端传入字符串进行过滤,只处理非字符串,以实现对字符串的进一步操作。 ### 回答3: 在Java中,可以使用trim()方法将前端传入字符串进行过滤。trim()方法能够去掉字符串两端的格,将只包含格的字符串转换为空字符串。以下为示例代码: ```java String userInput = ""; // 前端传入字符串 String filteredString = userInput.trim(); // 使用trim()方法过滤字符串 if(filteredString.isEmpty()) { System.out.println("前端传入字符串已经过滤成功!"); } else { System.out.println("前端传入字符串为: " + filteredString); } ``` 在上述例子中,首先定义了变量`userInput`来表示前端传入字符串,“”表示字符串。然后使用`trim()`方法将前端传入字符串进行过滤。通过判断过滤后的字符串`filteredString`是否为空,可以确定是否传入的是字符串。如果为空,则表示字符串已经过滤成功。如果不为空,则打印过滤后的字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值