Lexicographic Order in Java

后端 未结 4 1281
迷失自我
迷失自我 2021-02-19 15:21

How is the lexicographic order defined in Java especially in reference to special characters like !, . and so on?

An examplary order can be fou

4条回答
  •  野的像风
    2021-02-19 15:43

    In Java it's based on the Unicode value of the string:

    http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#compareTo(java.lang.String)

    In Oracle, it will depend on the charset you are using on your database. You'll want it to be UTF-8 to have consistent behavior with Java.

    To check the character set:

    SQL> SELECT parameter, value FROM nls_database_parameters 
         WHERE parameter = 'NLS_CHARACTERSET';
    
    PARAMETER             VALUE 
    ------------------    ---------------------
    NLS_CHARACTERSET      UTF8
    

    If it's not UTF-8, then you can get different comparison behavior depending on which character set your Oracle database is using.

提交回复
热议问题