String类

Posted share23

tags:

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

1. String是什么

  Java中字符串是一个比较特殊的对象,可以使用new,也可以不通过new来创建字符串对象。

 

技术分享图片

  String s1 = new String("abc");     //在堆中

  String str = "abc";          //在常量池中(ps: 常量池为方法区的一部分,字符串在常量池中保存一份,若没有则创建)

 

  字符串是不可变量,一旦初始化就不可以被改变
  String s1 = "abc";
  s1 = s1 + "123";//s1变量变了,并不是字符串变了

 

  使用构造方法创建的对象都是在堆中
  
  如果直接使用字符串常量创建对象:new String(String original),先在常量池中创建对象,然后在堆中创建对象;
  如果是其它构造方法创建的字符串,先在堆中创建出来,并在常量池保存一个副本(如果常量池中没有的话)

2. String常用的构造方法

构造方法 说明
String(char[] ch) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
String(char[] ch,int offset,int count) 分配一个新的 String,它包含取自字符数组参数一个子数组的字符。
String(byte[] bys,int off,int len) 使用默认的解码,将字节数组解码成String。
String(String original) 用一个原始字符串构建一个新字符串,相当于为字符串创建副本。

 

 

 

 

 

 

3. String类常见方法

方法 说明
length() 返回此字符串的长度。
charAt(int index)  返回指定索引处的 char 值。
   
   
   
   
   
   
   
   
   
   
   
   
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

统计大小写字符个数






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

《c++从0到99》七 STL之string类

STL详解string类

C++初阶:string类string类 | 浅拷贝和深拷贝(传统写法和现代写法) | string类的模拟实现

C++string类详解

C++string类

java string类