$show=/label

Java 9 String chars() method example - Internal Implementation

SHARE:

Java String chars() method. Learn chars() method with example in java.lang.String package and its internal implementation. Learn about String class methods usage.

Java String chars():


chars method is introduced in package java.lang.String class from Java 9 onwards. This method returns a stream of int zero-extending the char values from this sequence. Any char which maps to a surrogate code point is passed through uninterpreted. If the sequence is mutated while the stream is being read, the result is undefined.


Java String chars() method example



Syntax:

public IntStream chars​()


This method returns IntStream which holds of characters of input string and will have some light performance penalty.


Refer the article How to convert String to char before java 8.

String chars() method Example:

package examples.java.w3schools.string;

import java.util.stream.IntStream;

public class StringCharsExample {
 public static void main(String[] args) {

   IntStream stream = "world".chars();
  stream.mapToObj(i -> (char) i).forEach(System.out::println);

  }
}


Output:
w
o
r
l
d


Here I obtain an IntStream and map it to an object via the lambda i -> (char)i, this will automatically box it into a Stream<Character>, and then we can do what we want, and still use method references as a plus.

Be aware though that you must do mapToObj, if you forget and use map, then nothing will complain, but you will still end up with an IntStream, and you might be left off wondering why it prints the integer values instead of the strings representing the characters.

Other alternative way to use chars() method:


By remaining in an IntStream and wanting to print them ultimately, you cannot use method references anymore for printing:


"world".chars().forEach(i -> System.out.println((char)i));

Internal Implementation:


The below code is chars method internal implementation.


@Override
    public IntStream chars() {

        return StreamSupport.intStream(
            isLatin1() ? new StringLatin1.CharsSpliterator(value, Spliterator.IMMUTABLE)
                       : new StringUTF16.CharsSpliterator(value, Spliterator.IMMUTABLE), false);
    }


This is a overridden method from its parent class CharSequence.

Please post your questions in comment section.

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java 9 String chars() method example - Internal Implementation
Java 9 String chars() method example - Internal Implementation
Java String chars() method. Learn chars() method with example in java.lang.String package and its internal implementation. Learn about String class methods usage.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYbIa1JvAwqleuHL5RsqLEmMzpjhZqNiskTArP3Z0jSG2HwmV9eb2tUjdRVJJiPZjBJAoWnLg0AWX__MHSmGMbpTxyCiSsHYBdIAlPM06BlcGXiuH-0tS-2p0B1pYQ79-d874C7IdQGt8/s320/java-string-chars.PNG
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYbIa1JvAwqleuHL5RsqLEmMzpjhZqNiskTArP3Z0jSG2HwmV9eb2tUjdRVJJiPZjBJAoWnLg0AWX__MHSmGMbpTxyCiSsHYBdIAlPM06BlcGXiuH-0tS-2p0B1pYQ79-d874C7IdQGt8/s72-c/java-string-chars.PNG
JavaProgramTo.com
https://www.javaprogramto.com/2019/02/java-string-chars.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2019/02/java-string-chars.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content