java使用beanUtil获取当前时间的前一天
时间: 2023-06-28 12:04:48 浏览: 88
可以使用`java.util.Calendar`和`org.apache.commons.beanutils.BeanUtils`来实现。
首先,使用`Calendar`获取当前时间的前一天:
```java
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, -1);
Date yesterday = calendar.getTime();
```
然后,使用`BeanUtils`将`yesterday`设置到对应的JavaBean中:
```java
MyBean myBean = new MyBean();
BeanUtils.setProperty(myBean, "date", yesterday);
```
其中,`MyBean`是你自己定义的JavaBean类,比如:
```java
public class MyBean {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
```
这样,就可以将当前时间的前一天设置到`MyBean`的`date`属性中了。
相关问题
java BeanUtil 判断对象是否为空
在Java中,我们可以使用BeanUtils库中的方法来判断一个对象是否为空。这个方法可以判断对象的所有属性值是否都为null或者空字符串。具体的实现可以参考以下代码:
```java
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils;
public static <T> Boolean addOrEditFlag(Class<? extends T> aClass, T aa) throws Exception {
boolean flag = true;
T t = aClass.cast(aa);
for (Field declaredField : aClass.getDeclaredFields()) {
// 排除对象中序列化字段
if("serialVersionUID".equals(declaredField.getName())) continue;
if(StringUtils.isNotBlank(BeanUtils.getProperty(t, declaredField.getName()))){
flag = false;
break;
}
}
return flag;
}
```
这个方法使用了BeanUtils库中的`getProperty`方法来获取对象的属性值,并使用StringUtils库中的`isNotBlank`方法来判断属性值是否不为空。如果所有属性值都为空,则返回true,否则返回false。你可以将这个方法添加到你的代码中,然后通过调用`addOrEditFlag`方法来判断一个对象是否为空。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [判断一个对象属性值是否全部为 null 或空字符串](https://blog.csdn.net/weixin_46160739/article/details/126427171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [总结java中判断对象是否为空的方法](https://blog.csdn.net/weixin_35867815/article/details/114097496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
BeanUtil.copyProperties使用风险或是如何更好的使用BeanUtil.copyProperties4
BeanUtils.copyProperties()是Apache Commons BeanUtils库提供的方法,用于将一个JavaBean的属性值复制到另一个JavaBean中。它的使用非常方便,可以大大减少代码量,但是也存在一些风险,需要注意以下几点:
1.属性名称必须相同,否则会抛出异常。
2.属性类型必须相同或可转换,否则会抛出异常。
3.如果源对象属性值为null,则目标对象属性值也会被设置为null。
4.如果属性为final,则无法设置。
5.如果有循环引用,则可能会导致无限递归,最终导致栈溢出。
为了避免这些风险,可以使用BeanUtil.copyProperties4()方法,该方法是我开发的一个增强版,其中包含以下特性:
1.支持忽略属性名称不同的字段。
2.支持自定义转换器,用于处理源对象属性类型和目标对象属性类型不同的情况。
3.支持忽略null值属性。
4.支持复制final字段。
5.支持处理循环引用。
使用BeanUtil.copyProperties4()方法,可以更加灵活地进行属性复制,提高代码复用性和可读性,减少出错的概率。如果您需要使用BeanUtils.copyProperties()方法,建议在使用之前认真分析源对象和目标对象的属性,确保属性类型和名称相同,避免出现异常或错误结果。
阅读全文