IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java 知识点:在字符串拼接情况下,动态修改配置的问题 -> 正文阅读

[Java知识库]Java 知识点:在字符串拼接情况下,动态修改配置的问题

环境

Java: 1.8+

前言

最近项目发布时,通过配置中心更改配置时,发现配置居然没有生效。

public static final Byte APPEAL_TIME_RANGE = 7;

public static Integer RATE_FREQUENCY = 3;

public static String bb = APPEAL_TIME_RANGE + "天内可以修改" + RATE_FREQUENCY + "次";

public static void main(String[] args) {
    String aa = APPEAL_TIME_RANGE + "天内可以修改" + RATE_FREQUENCY + "次";

    System.out.println(bb);
    System.out.println(aa);
	//模拟配置中心,修改配置字段
    RATE_FREQUENCY = 100;

    System.out.println(bb);
    System.out.println(aa);
}

发现,修改没有生效,打印结果:

7天内可以修改37天内可以修改37天内可以修改37天内可以修改3

我的理解是,式子中明明有变量,为什么不是每次执行时,都进行动态拼接呢?

原因

没什么好解释,记住它!!!

字符串 = a + b + c…拼接完成后,不会再进行动态拼接

通过上面的代码测试,我们会发现:

String aa = APPEAL_TIME_RANGE + "天内可以修改" + RATE_FREQUENCY + "次";
public static String bb = APPEAL_TIME_RANGE + "天内可以修改" + RATE_FREQUENCY + "次";

当jvm完成了变量aa和bb的动态拼接后,不会再对变量aa和变量bb进行二次动态拼接。

这也就意味着,当我们企图修改RATE_FREQUENCY变量值来达到修改整体字符串的值时,将面临失败。

解决办法

没有好的解决办法,就是在使用的地方,直接使用APPEAL_TIME_RANGE + "天内可以修改" + RATE_FREQUENCY + "次",而不是将它赋值给某个变量。

总结

字符串完成拼接,赋值给某个变量A后,当多次使用该变量A时,不会再进行二次拼接。即使拼接的式子里有变量也不行。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 11:39:48  更:2022-04-28 11:40:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:04:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码