ステンシルMessageFormat.formatの文字列置換法(文字列のパターン、オブジェクト...引数)

MessageFormat.format(文字列パターン、オブジェクト...引数)

MessageFormat.format(NewOrderConstant.PAY_SCHEMA,
        URLEncoder.encode(MessageFormat.format(NewOrderConstant.RESULT_SCHEME, String.valueOf(orderId)), HTTP.UTF_8),
        URLEncoder.encode(MessageFormat.format(NewOrderConstant.RESULT_SCHEME, String.valueOf(orderId)), HTTP.UTF_8),
        URIUtil.encodeQuery(shopBO.getShopName(), HTTP.UTF_8),
        this.toStringWithRemoveTrailingZeros(huiAmount),
        NewOrderConstant.BIZ_ORDER_TYPE_OEDER,
        String.valueOf(orderId),
        String.valueOf(shopId),
        noHuiAmount == null ? "0" : this.toStringWithRemoveTrailingZeros(noHuiAmount),
        (shopBO.getType() == ShopTypeCode.IntellRestaurant_PRE_PAY || shopBO.getType() == ShopTypeCode.HBT_PRE_PAY) ? 1 : 0,
        URLEncoder.encode("{supportVoucher:" + shopBO.getHuiType() + "}", HTTP.UTF_8));

以下は、達成するためのコードです:

実際には、この実現には、MessageFormatクラスを使用することです。

文字列の内容= "AB、CC、{名前}、{パスワード}、{DATE}、DD、FF"。

文字配列[] = {ユーザー名、パスワード、format.format(新しいDate());}
コンテンツ= MessageFormat.format(コンテンツ、アレイ)

次のように説明しました:

コンテンツ要求は{}パラメータである交換する、配列に格納された配列は、パラメータに対応する置換すべきである。これらのパラメータの必要が正しい一致の数となり、シーケンス番号を指定する場合のMessageFormatの方法を用い、それ以外の場合は、マッチングエラー。交換可能なパラメータのこの実現。非常にシンプルで、非常に剛性。

MessageFormat:java.textパッケージから。

私たちは、彼の実装を読み取るために、独自のJDKのソースコードを開くことができます。

これは、スイッチhttps://blog.csdn.net/qq_20906499/article/details/51436732

おすすめ

転載: www.cnblogs.com/snake107/p/12047295.html