字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关的知识,希望对你有一定的参考价值。

一、字符串

字符串对象一旦被初始化就不会被改变。

string s="abc";

string s1="abc";

字符串常量被放在字符串常量池中,所以s和s1的地址是相同的,都指向字符串常量池中的“abc”。

但是:

string s="abc";

String s1=new String("abc");

上述语句中,s和s1却不相等,因为s1指向的是堆地址。

s.equals(s1)是相同的,因为字符串的equals方法比较的是字符串内容是否相同。

字节数组转成字符串:

byte [] a={97,65,66,67};

String s=new String(a);

将字符数组转成字符串:

char[] ch={‘a‘,‘b‘,‘c‘,‘d‘};

String s=new String(ch);

将字符串变成字符数组:

char [] ch=s.toCharArray();

将字符串变成字节数组:

byte []=s.getBytes();

字符串对象的比较不能用<等符号,而要用compareTo()方法。

stringBuffer是字符串缓冲区,用于存储数据的容器。

特点:

1.长度可变

2.用于存储不同数据类型

在jdk1.5之后,出现了和StringBuffer功能一模一样的对象StringBuilder,不同之处为:

            StringBuffer是线程同步的,通常用于多线程。

            而StringBuilder是线程不同步的,其效率高,经常用于单线程。

 StringBuffer和StringBuilder都是存放字符串的容器,在Java中处理大量数据的时候,一般都优先考虑使用容器。

以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章

第15章:字符串

什么是字符串常量和字符串变量啊???

neo4j字符串操作大全

java中怎么判断一个字符串数组中包含某个字符或字符串

PHP字符串函数

如何获取一个字符串在某个字符串的位置