$show=/label

Java String codePointBefore()

SHARE:

A quick guide to get the previous character for the given index. Java String API codePoitBefore() method returns the character (Unicode code point).

1. Overview


In this String Methods series, you'll learn what is codePointBefore() method in String API and with example programs.

2. Java String codePointBefore()


codePointBefore() method returns the character (Unicode code point) before the specified index. The index refers to char values (Unicode code units) and ranges from 1 to length.

If the char value at (index - 1) is in the low-surrogate range, (index - 2) is not negative, and the char value at (index - 2) is in the high-surrogate range, then the supplementary code point value of the surrogate pair is returned. If the char value at index - 1 is an unpaired low-surrogate or a high-surrogate, the surrogate value is returned.

Java String codePointBefore()


3. Java String codePointBefore() Syntax


public int codePointBefore​(int index)

This method takes an integer value as input and returns a Unicode or ASCII value of the previous index. 
And also the return type is an integer.

If the index is not within the range of String length then it throws IndexOutOfBoundsException. But, here it is slightly different than normal and for this method index should be in between 1 and string length.

4. Java String codePointBefore() Example

package com.javaprogramto.strings;

public class StringCodepointBeforeExample {

    public static void main(String[] args) {

        String str = "JavaProgramTo.com";

        System.out.println("Input string value : "+str);

        int codepointBefore = str.codePointBefore(2);
        System.out.println("Code point for before index 2 : "+codepointBefore);

        codepointBefore = str.codePointBefore(str.length());
        System.out.println("Code point for before index "+str.length()+": "+codepointBefore);
    }
}
Output:

Input string value : JavaProgramTo.com
Code point for before index 2 : 97
Code point for before index 17: 109

4. String codePointBefore() Throws IndexOutOfBoundsException


Look at the below program that throws an exception for index 0. Because it does look up for the value at index -1.

package com.javaprogramto.strings;

public class StringCodepointBeforeException {

    public static void main(String[] args) {

        String str = "hello world";

        System.out.println("Input string value : "+str);

        int codepointBefore = str.codePointBefore(0);
        System.out.println("Code point for before index 0 : "+codepointBefore);
    }
}

Output:

Input string value : hello world
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.base/java.lang.String.codePointBefore(String.java:756)
at com.javaprogramto.strings.StringCodepointBeforeException.main(StringCodepointBeforeException.java:11)

5. Another example to show IndexOutOfBoundsException


Even though if you pass negative index then it produces the same IndexOutOfBoundsException at runtime.

  package com.javaprogramto.strings;
public class StringCodepointBeforeException {

    public static void main(String[] args) {
      String str = "hello world";
        System.out.println("Input string value : "+str);
        int codepointBefore = str.codePointBefore(-2);
        System.out.println("Code point for before index 0 : "+codepointBefore);
    }
}

Output:

  
Input string value : hello world
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.base/java.lang.String.codePointBefore(String.java:756)
at com.javaprogramto.strings.StringCodepointBeforeException.main(StringCodepointBeforeException.java:11)

6. codePointBefore() Internal Implementation


     public int codePointBefore(int index) {
        int i = index - 1;
        if (i < 0 || i >= length()) {

            throw new StringIndexOutOfBoundsException(index);
        }
        if (isLatin1()) {
            return (value[i] & 0xff);
        }

        return StringUTF16.codePointBefore(value, index);
    }


7. Conclusion


In this article, You've seen how to get the before index value from string for a given index. This method works with surrogate points as well.

Shown the examples on codePointBefore() method and some sample programs to show how this method produces runtime exception.

As usual, all examples are over GitHub.

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 String codePointBefore()
Java String codePointBefore()
A quick guide to get the previous character for the given index. Java String API codePoitBefore() method returns the character (Unicode code point).
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJJR9bqQ1EvijpGKxYNUh62xsTJqeWk1Y5wtsdeJYQGaE1staJeOXWAUe6qpajUBlGy73khLSVPT8wykjMLcM82Q00GdnUP2rVonLgTJH3O1e8UsuTXIjZ-qeQdO72ia5F39sxBjbOgJA/w400-h199/Java+String+codePointBefore%2528%2529.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJJR9bqQ1EvijpGKxYNUh62xsTJqeWk1Y5wtsdeJYQGaE1staJeOXWAUe6qpajUBlGy73khLSVPT8wykjMLcM82Q00GdnUP2rVonLgTJH3O1e8UsuTXIjZ-qeQdO72ia5F39sxBjbOgJA/s72-w400-c-h199/Java+String+codePointBefore%2528%2529.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/07/java-string-codepointbefore.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/07/java-string-codepointbefore.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