Java中字符串的使用ITeye - 牛牛娱乐

Java中字符串的使用ITeye

2019年03月09日11时40分51秒 | 作者: 昊东 | 标签: 字符串,字符,比较 | 浏览: 1987

 

intern()后再  :字符串或字符串常量表达式是直接生成在JVM常量池中的字符串。intern()办法执行时先是检查常量池中有没有相同的字符串,假如有回来已存在的字符串,假如没有则把字符串放入常量池,再回来该字符串,每个字符串在常量池中都有仅有的标识符,比较时就是运用这个仅有标识符经行比较。new String() 是在JVM堆中和常量池中各一份, 比较的时分是和堆中的字符串目标进行比较。

 

 

 

equalsIgnoreCase():先是比较比较两个目标是否持平,假如不持平再逐一字符进行比较是否持平,假如不持平再转为大写字符进行比较,关于特别的格鲁吉亚字母假如不持平再转为小写字符进行比较。

 

 

 

字符串衔接:拜见[1]

 

 

package testPackage; 
class Test { 
public static void main(String[] args) { 
String hello = "Hello", lo = "lo"; 
System.out.print((hello  "Hello") + " "); 
System.out.print((hello  ("Hel"+"lo")) + " "); 
System.out.print((hello  ("Hel"+lo)) + " "); 
System.out.println(hello  ("Hel"+lo).intern()); 
} 

 

输出:true  true   false  true

第二个是在编译时的常量表达式进行衔接,编译器进行优化运用相同的字符串;

第三个是在运行时衔接从头生成新的字符串。

  

CharSequence   是个接口开始于Java 1.4,文档中的解说是可读的字符序列,   它的直接子类有CharBuffer, Segment, String, StringBuffer, StringBuilder。因而当你期望你的API承受这些类时CharSequence是个不错的挑选。CharSequence的完成类没有悉数完成equals/hashCode办法,当你需求Map或许依靠equals/hashCode时,应当运用String或许把CharSequence转为String。在触及暗码等安全信息是应当运用CharSequence或许char而不是String。

在Java8 之前CharSequence的效果或许十分有限,一般应该被用在字符串处理操作中。一个CharSequence不能确保是不可变的,而String是能够确保不可变的。

 

 

StringTokenizer

StringCharacterIterator

 

 

1.  Jls8 3.10.5 String Literals

 

2.  http://stackoverflow.com/questions/13234584/when-to-use-charsequence

 

3.  http://stackoverflow.com/questions/11323962/exact-difference-between-charsequence-and-string-in-java

 

4.  http://stackoverflow.com/questions/8881291/why-is-char-preferred-over-string-for-passwords

 

5.  http://stackoverflow.com/questions/3052442/what-is-the-difference-between-text-and-new-stringtext-in-java

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    Java中字符串的使用ITeye

    字符串,字符,比较
  • 2
  • 3

    UTLITeye

    数据,目录,文件
  • 4
  • 5
  • 6

    java与函数式编程ITeye

    函数,编程,一些
  • 7
  • 8
  • 9
  • 10