1 静态工具方法
public class RedisLockUtils {
public static void getLockFail(Order order){
order = null;
}
}
2 main方法调用静态方法
public static void main(String[] args) {
Order order = new Order();
order.setPayOrderNo("222");
RedisLockUtils.getLockFail(order);
System.out.println(order);
}
3 打印结果
Order{orderNo='null', payOrderNo='222'}
疑问:
为什么打印结果对象有数据而不是null呢?
有没有办法在静态工具方法中将对象置为空/null?
标签:
相关文章
- 敏捷开发在互联网时代里的价值
- PL2586|替代FE1.1S|替代MA8601|USB2.0HUB集线器芯片|旺玖
- 力软快速开发平台,帮助中小企业躲过数字化“踏浪出海”的“暗礁”
- 软件开发:站在风口上的低代码
- TYPEC转HDMI方案|TYPEC扩展坞方案|CS5265设计4K60HZ TYPEC转HDMI方
- DP转HDMI2.0|DP转HDMI和VGA输出|CS5262AN方案应用|瑞奇达CS5262设计电
- Capstone瑞奇达|台湾瑞奇达|一级代理商|台湾瑞奇达科技有限公司
- CH7511B替代方案|CS5211设计方案|CS5211替代CH7511B|eDP转LVDS转接板
没懂意思,这有先有后的啊,静态的始终优先级最高,没办法在其他地方赋值再静态置空
当order = null;时其实是将内部的order指向一个新的地址(空对象地址)
但是不会对原来的对象产生影响.
public static void getLockFail(Order order){
order.setOrderNo("333");
// 指向了新的地址值 null
order = null;
System.out.println(order);
}
打印结果:
null
RegistryQuotaQuickPayByStagesDto{orderNo='333', payOrderNo='222'}
你只是把方法中的参数的引用设置成null了好不好