Explication détaillée du code de Java8 StringJoiner
Enfin, Java 8 publie la classe StringJoiner sous le package java.util. Je ne pense pas qu'il s'agisse d'une implémentation radicalement différente de notre approche à l'ancienne consistant à utiliser StringBuffer/StringBuilder pour concaténer des chaînes. Jetons un coup d'œil à l'utilisation de StringJoiner et à son implémentation interne.
Par exemple, j'ai deux chaînes appelées "Smart" et "Techie", et je souhaite concaténer ces chaînes dans [Smart,Techie]. Dans ce cas, mon préfixe est "[", le suffixe est "]" et le délimiteur est ",". StringJoiner a les deux constructeurs suivants.
StringJoiner(CharSequence delimiter)
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
Nous voulons avoir des préfixes et des suffixes, utilisez donc le deuxième constructeur dans l'exemple.
StringJoiner sjr = new StringJoiner(",", "[", "]"); sjr.add("Smart").add("Techie"); System.out.println("The final Joined string is " + sjr);
Si nous ne voulons pas avoir de préfixe et de suffixe, alors juste :
sjr1.add("Smart").add("Techie"); System.out.println("The final Joined string is " + sjr1);
Maintenant, nous verrons l'implémentation des méthodes add et toString().
public StringJoiner add(CharSequence newElement) { prepareBuilder().append(newElement); return this; }
prepareBuilder() est implémenté comme suit.
private StringBuilder prepareBuilder() { if (value != null) { value.append(delimiter); } else { value = new StringBuilder().append(prefix); } return value; }
D'après l'implémentation ci-dessus, il est évident que StringJoiner suit l'approche à l'ancienne.
toString() est implémenté comme suit.
public String toString() { if (value == null) { return emptyValue; } else { if (suffix.equals("")) { return value.toString(); } else { int initialLength = value.length(); String result = value.append(suffix).toString(); // reset value to pre-append initialLength value.setLength(initialLength); return result; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Java8 calcule la date il y a un an ou un an plus tard à l'aide de la méthode minus() pour calculer la date il y a un an packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo09{publicstaticvoidmain(String[ ]args ){LocalDatetoday=LocalDate.now();LocalDatepreviousYear=today.minus(1,ChronoUni

Comment calculer la date une semaine plus tard en Java8 Cet exemple calculera la date une semaine plus tard. La date LocalDate ne contient pas d'informations de temps. Sa méthode plus() est utilisée pour ajouter des jours, des semaines et des mois. La classe ChronoUnit déclare ces unités de temps. Puisque LocalDate est également un type immuable, vous devez utiliser des variables pour attribuer des valeurs après le retour. packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo08{publicstaticvoidmain(String[

Classe Clock de Java8 Java8 ajoute une classe Clock pour obtenir l'horodatage actuel ou les informations de date et d'heure dans le fuseau horaire actuel. Là où System.currentTimeInMillis() et TimeZone.getDefault() étaient utilisés auparavant, ils peuvent être remplacés par Clock. packagecom.shxt.demo02;importjava.time.Clock;publicclassDemo10{publicstaticvoidmain(String[]args){//renvoie la base de temps actuelle

Obtenez l'horodatage actuel dans Java8. La classe Instant a une méthode de fabrique statique now() qui renverra l'horodatage actuel, comme indiqué ci-dessous : packagecom.shxt.demo02;importjava.time.Instant;publicclassDemo16{publicstaticvoidmain(String[]args) {Instanttimestamp=Instant.now();System.out.println("Quelle est la valeur de cetinstant"+timestamp.t

Comment utiliser des outils de formatage prédéfinis dans Java8 pour analyser ou formater des dates =DateLocale.parse

Déterminer si deux dates sont égales dans Java8 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("Les temps sont égaux");}e

Java8, 月, 日信息packagecom.shxt.demo02;importjava.time.LocalDate;publicclassDemo02{publicstaticvoidmain(String[]args){LocalDatetoday=LocalDate.now();intyear=today.getYear();intmonth=today .getMonthValue();intday=aujourd'hui.getDayOfMonth();System.out.println

Java8 中检查闰年packagecom.shxt.demo02;importjava.time.LocalDate;publicclassDemo14{publicstaticvoidmain(String[]args){LocalDatetoday=LocalDate.now();if(today.isLeapYear()){System.out.println( "Cetteannéeestuneannéebissextile");}else{System.out.println("2
