Java で MessageFormat を使用する場合、どのような問題に注意する必要がありますか?
トラブルシューティング
しばらく調べても何もわからず、この時点でパニックになり始めました。すぐに提出記録を見て、自分が書いたコードではないことを確認したので、少し気持ちが落ち着きましたが、他人に聞かれたら、「自分が書いたものではない!」と言うのは簡単です。私はコードを書きませんでしたが、それでも問題を確認する必要があります。結局のところ、お金を手に入れたら、働かなければなりません。
次のステップはコードを分析することです。まず、最も可能性の高いエラー、つまりコマンド クエリの応答ロジックの解析を分析しました。ここのコードを手動でコマンドを実行した結果と合わせて解析したところ、この応答結果から正常に応答結果が得られることが分かりました。しばらく見て問題がなかったので、コマンドの結合コードを見てみると、結合ロジックは1行だけなので問題ないはずです。仕方なく再度ログを見てみると、今度は印刷、送信、実行するコマンドがログにあったことが分かりました。よく見てみると、なぜカンマが余分にあるのでしょうか。彼はもう一度眼鏡をこすって、正しく見えていることを確認しました。
この際、コードを遡って見てみると、この MessageFormat
に何か問題があるのですが、今のところ証拠は見つかりません。
public Integer getMaxIndex() { // 返回最大的索引值 1035 } public String queyBySsh() { // 这里期望拼接的命令是 show index 1035,但是实际的命令却是 show index 1,035 // 最终得到的命令多了个英文的逗号 String command = MessageFormat("show index {0}", getMaxIndex()); // 通过SSH执行这个命令查询 }
そこで突然、以前見たことのある Wiki のことを思い出しました。その Wiki には、MessageFormat
についての説明が記載されていたようです。早速見てみたら、案の定、MessageFormat
のパラメータが数値型の場合、3桁を超える場合は3桁ごとにカンマが追加されると書いてありました。 。したがって、上記のコードロジックによれば、show Index 1,035
が得られますが、結果には余分な英語のカンマがあり、手動で spliced コマンドを実行してもデータを見つけることができません。事件はついに解決しました、花を広げて、花を広げて、花を広げてください! ! !
解決方法
最初の方法は、数値を文字列に変換してから書式設定することです。上記のコードを次のように変更します:
public String queyBySsh() { // 这里拼接的时候先调用一下 String.valueOf() 方法 String command = MessageFormat("show index {0}", String.valueOf(getMaxIndex())); }
2 番目の方法この方法は、MessageFormat
の FormatStyle
を追加し、上記のコードを次のように変更します:
public String queyBySsh() { // 这里的 # 就是定义的 FamatStyle String command = MessageFormat("show index {0, number, #}", getMaxIndex()); }
以上がJava で MessageFormat を使用する場合、どのような問題に注意する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
