亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java使用MessageFormat應(yīng)注意的問(wèn)題

 更新時(shí)間:2022年06月20日 10:31:41   作者:??sparkchan????  
這篇文章主要介紹了Java使用MessageFormat應(yīng)注意的問(wèn)題,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

問(wèn)題現(xiàn)象

某個(gè)業(yè)務(wù)功能需要通過(guò)SSH協(xié)議執(zhí)行命令查詢一些數(shù)據(jù),而某次查詢居然沒(méi)有得到任何結(jié)果,導(dǎo)致界面沒(méi)有任何數(shù)據(jù),但是手動(dòng)執(zhí)行這個(gè)命令又是能夠查詢到數(shù)據(jù)的。刨了半天日志也確實(shí)沒(méi)有看到日志里面有什么異常的信息,百思不得其解數(shù)據(jù)究竟去哪里了???

問(wèn)題排查

看了一段時(shí)間還是沒(méi)有什么頭緒,這個(gè)時(shí)候內(nèi)心開(kāi)始慌了。趕緊看了一下提交記錄,確認(rèn)了一下代碼不是我寫(xiě)的,于是心里稍稍微淡定了一點(diǎn),別人問(wèn)起也好說(shuō)不是我寫(xiě)的嘛!雖然代碼不是我寫(xiě)的,但是問(wèn)題還是要繼續(xù)看的。畢竟拿了錢,就要干活的嘛。

接下來(lái)就只能分析代碼了。首先分析了一下最有可能出錯(cuò)的地方,就是解析命令查詢的響應(yīng)邏輯。把這個(gè)地方的代碼和手動(dòng)執(zhí)行命令得到的結(jié)果放在一起分析,發(fā)現(xiàn)根據(jù)這個(gè)響應(yīng)結(jié)果是能夠正常的得到響應(yīng)結(jié)果的??戳艘粫?huì)兒也確實(shí)沒(méi)有發(fā)現(xiàn)問(wèn)題,又去看了一下命令拼接的代碼,拼接的邏輯就一行,應(yīng)該是不會(huì)出問(wèn)題的。沒(méi)辦法了,又去看了看日志,這個(gè)時(shí)候發(fā)現(xiàn)日志里面有打印發(fā)送執(zhí)行的命令。定睛一看,我擦,咋多了個(gè)逗號(hào)呢?又揉了揉眼鏡,確認(rèn)自己沒(méi)有看錯(cuò)誤。

這個(gè)時(shí)候再回去看一下代碼,怎么看這個(gè) MessageFormat 都有點(diǎn)問(wèn)題,但是一時(shí)又找不到啥證據(jù)。

public Integer getMaxIndex() {
 ? ?// 返回最大的索引值 1035
}
public String queyBySsh() {
 ? ?//  這里期望拼接的命令是 show index 1035,但是實(shí)際的命令卻是 show index 1,035
 ? ?// 最終得到的命令多了個(gè)英文的逗號(hào) 
 ? ?String command = MessageFormat("show index {0}", getMaxIndex());
 ? ?// 通過(guò)SSH執(zhí)行這個(gè)命令查詢
}

后來(lái)突然想起來(lái)之前看到過(guò)的一個(gè)Wiki,好像有關(guān)于描述 MessageFormat 的注意事項(xiàng)。趕緊去找來(lái)看一下,果然里面有寫(xiě)到當(dāng) MessageFormat 的參數(shù)是數(shù)字類型時(shí),當(dāng)數(shù)字超過(guò) 3 位數(shù)字以上時(shí),每隔 3 位會(huì)多增加一個(gè)因?yàn)榈亩禾?hào)。所以根據(jù)上面的代碼邏輯得到的就是 show index 1,035 了,結(jié)果中多了個(gè)英文的逗號(hào),而將這個(gè)拼接出來(lái)的命令手動(dòng)執(zhí)行是查不出來(lái)數(shù)據(jù)的。終于破案了,撒花,撒花,撒花!?。?/p>

如何解決

第一種方法是將數(shù)字轉(zhuǎn)為字符串,然后再進(jìn)行格式化,將上面的代碼修改為如下:

public String queyBySsh() {
 ? ?// 這里拼接的時(shí)候先調(diào)用一下 String.valueOf() 方法
 ? ?String command = MessageFormat("show index {0}", String.valueOf(getMaxIndex()));
}

第二種方法是增加 MessageFormat 的 FormatStyle,將上面的代碼修改為如下:

public String queyBySsh() {
    // 這里的 # 就是定義的 FamatStyle
    String command = MessageFormat("show index {0, number, #}", getMaxIndex());
}

到此這篇關(guān)于Java使用MessageFormat應(yīng)注意的問(wèn)題的文章就介紹到這了,更多相關(guān)Java MessageFormat 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MybatisPlus實(shí)現(xiàn)邏輯刪除功能

    MybatisPlus實(shí)現(xiàn)邏輯刪除功能

    這篇文章主要介紹了MybatisPlus實(shí)現(xiàn)邏輯刪除功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Sharding JDBC讀寫(xiě)分離實(shí)現(xiàn)原理及實(shí)例

    Sharding JDBC讀寫(xiě)分離實(shí)現(xiàn)原理及實(shí)例

    這篇文章主要介紹了Sharding JDBC讀寫(xiě)分離實(shí)現(xiàn)原理及實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java調(diào)用ChatGPT的實(shí)現(xiàn)代碼

    Java調(diào)用ChatGPT的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java調(diào)用ChatGPT的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 用Java實(shí)現(xiàn)希爾排序的示例

    用Java實(shí)現(xiàn)希爾排序的示例

    問(wèn)題:現(xiàn)有一段程序S,可以對(duì)任意n個(gè)數(shù)進(jìn)行排序。如果現(xiàn)在需要對(duì)n^2個(gè)數(shù)進(jìn)行排序,最少需要調(diào)用S多少次?只允許調(diào)用S,不可以做別的操作。我們用希爾排序來(lái)做解決這個(gè)
    2013-11-11
  • Spring源碼解析之循環(huán)依賴的實(shí)現(xiàn)流程

    Spring源碼解析之循環(huán)依賴的實(shí)現(xiàn)流程

    這篇文章主要介紹了Spring源碼解析之循環(huán)依賴的實(shí)現(xiàn)流程,文章基于Java的相關(guān)內(nèi)容展開(kāi)循環(huán)依賴的實(shí)現(xiàn)流程,需要的小伙伴可以參考一下
    2022-07-07
  • 詳解Java讀取Jar中資源文件及示例代碼

    詳解Java讀取Jar中資源文件及示例代碼

    這篇文章主要介紹了詳解Java讀取Jar中資源文件及實(shí)現(xiàn)代碼的相關(guān)資料,在開(kāi)發(fā)java項(xiàng)目的時(shí)候,經(jīng)常會(huì)用到j(luò)ar包,這里就說(shuō)下如何讀取,需要的朋友可以參考下
    2017-07-07
  • Spring Boot 中常用的注解@RequestParam及基本用法

    Spring Boot 中常用的注解@RequestParam及基本用法

    @RequestParam 是 Spring Framework 和 Spring Boot 中常用的注解之一,用于從請(qǐng)求中獲取參數(shù)值,本文給大家介紹Spring Boot 中常用的注解@RequestParam,感興趣的朋友一起看看吧
    2023-10-10
  • Java并發(fā)編程之ConcurrentLinkedQueue隊(duì)列詳情

    Java并發(fā)編程之ConcurrentLinkedQueue隊(duì)列詳情

    這篇文章主要介紹了Java并發(fā)編程之ConcurrentLinkedQueue隊(duì)列詳情,ConcurrentLinkedQueue?內(nèi)部的隊(duì)列使用單向鏈表方式實(shí)現(xiàn),下文更多相關(guān)內(nèi)容敘述需要的小伙伴可以參考一下
    2022-04-04
  • mybatisPlus實(shí)現(xiàn)倒序拼接字符串

    mybatisPlus實(shí)現(xiàn)倒序拼接字符串

    這篇文章主要介紹了mybatisPlus實(shí)現(xiàn)倒序拼接字符串方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java判斷字符串相等的方法

    java判斷字符串相等的方法

    今天小編就為大家分享一篇java判斷字符串相等的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論