Java8 StringJoinerの詳細コード説明
最後に、Java 8 は java.util パッケージの下で StringJoiner クラスをリリースします。これは、StringBuffer/StringBuilder を使用して strings を連結するという昔ながらのアプローチと根本的に異なる実装ではないと思います。 StringJoiner の使用法とその内部実装を見てみましょう。
たとえば、「Smart」と「Techie」という 2 つの文字列があり、これらの文字列を [Smart, Techie] として連結したいとします。この場合、接頭辞は「[」、接尾辞は「]」、区切り文字は「,」です。 StringJoiner には次の 2 つのコンストラクターがあります。
StringJoiner(CharSequence delimiter)
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
接頭辞と接尾辞が必要なので、例の 2 番目のコンストラクターを使用します。
StringJoiner sjr = new StringJoiner(",", "[", "]"); sjr.add("Smart").add("Techie"); System.out.println("The final Joined string is " + sjr);
プレフィックスとサフィックスを使用したくない場合は、次のようにします。
sjr1.add("Smart").add("Techie"); System.out.println("The final Joined string is " + sjr1);
次に、add メソッドと toString() メソッドの実装を見ていきます。
public StringJoiner add(CharSequence newElement) { prepareBuilder().append(newElement); return this; }
prepareBuilder()は次のように実装されます。
private StringBuilder prepareBuilder() { if (value != null) { value.append(delimiter); } else { value = new StringBuilder().append(prefix); } return value; }
上記の実装から、StringJoiner が昔ながらのアプローチに従っていることは明らかです。
toString()は次のように実装されます。
りー以上がJava8 StringJoinerの詳細コード説明の詳細内容です。詳細については、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)

ホットトピック









Java8 は、minus() メソッドを使用して 1 年前の日付または 1 年後の日付を計算し、1 年前の日付を計算します。 packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo09{publicstaticvoidmain(String[ ]args ){LocalDatetoday=LocalDate.now();LocalDateprevious Year=today.minus(1,ChronoUni

Java8 で 1 週間後の日付を計算する方法 この例では、1 週間後の日付を計算します。 LocalDate 日付には時間情報が含まれません。その plus() メソッドは、日、週、月を追加するために使用されます。これらの時間単位は ChronoUnit クラスで宣言されます。 LocalDate も不変型なので、戻った後に変数を使用して値を割り当てる必要があります。 packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo08{publicstaticvoidmain(String[

Java8 の Clock クラス Java8 では、現在のタイムスタンプ、つまり現在のタイムゾーンの日付と時刻の情報を取得するための Clock クラスが追加されています。以前に System.currentTimeInMillis() と TimeZone.getDefault() が使用されていた場合は、Clock に置き換えることができます。 packagecom.shxt.demo02;importjava.time.Clock;publicclassDemo10{publicstaticvoidmain(String[]args){//現在のタイムベースを返します

Java8 で現在のタイムスタンプを取得します。Instant クラスには、次に示すように、現在のタイムスタンプを返す静的ファクトリ メソッド now() があります。 Instanttimestamp=Instant.now();System.out.println("このインスタントの値は何ですか"+timestamp.t

事前定義された書式設定ツールを使用して Java8 で日付を解析または書式設定する方法 packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.format.DateTimeFormatter;publicclassDemo17{publicstaticvoidmain(String[]args){StringdayAfterTommorrow="20180205 ";LocalDateformatted =LocalDate.parse

Java8 で 2 つの日付が等しいかどうかを判断する packagecom.shxt.demo02;importjava.time.LocalDate;publicclassDemo04{publicstaticvoidmain(String[]args){LocalDatedate1=LocalDate.now();LocalDatedate2=LocalDate.of(2018,2,5) ;if(date1.equals(date2)){System.out.println("時間が等しい");}e

Java8 の年、月、日の情報を取得する packagecom.shxt.demo02;importjava.time.LocalDate;publicclassDemo02{publicstaticvoidmain(String[]args){LocalDatetoday=LocalDate.now();intyear=today.get Year();intmonth=today .getMonthValue();intday=today.getDayOfMonth();System.out.println

Java8 におけるパッケージcom.shxt.demo02;importjava.time.LocalDate;publicclassDemo14{publicstaticvoidmain(String[]args){LocalDatetoday=LocalDate.now();if(today.isLeap Year()){System.out.println( "今年は閏年");}else{System.out.println("2
