【Java】String类用法总结

       

一、基本原理

        在Java文档中将String类对象称为不可变字符串,Java字符串中的字符是不能修改的。这一点和C++不同,C++中字符串时可以修改的,C++中string类底层是用动态数组的方式实现的,可变长度,内容自然也是能修改的。

       不可变字符串有一个优点:编译器可以让字符串共享。我们可以想象,各种字符串存放在公共的存储池中(字符串常量池),字符串变量指向存储池中相应的位置,如果复制一个字符串变量,原始字符串与复制的字符串共享相同的字符。

       Java的设计者认为共享带来的高效率远远胜于提取、拼接字符串带来的低效率。但是,有些时候,程序中需要由较短的字符串拼接成较长的字符串,每次连接字符串,都会构建一个新的String类对象,既耗时又占空间,这时候就应该选择StringBuilder类就能避免这个问题。

       

       

       

二、用法

       

初始化

初始化
String s1 = new String(“hello world!”); 创建一个字符串对象,内容为"hello world!"
String s1 = “hello world!”; 创建一个字符串对象,内容为"hello world!"
String s1 = new String(); 创建一个空字符串对象
char c1[] = {‘h’,‘e’,‘l’,‘l’,‘o’}; String s1 = new String(c1); 创建一个字符串对象,内容为"hello"
byte b1[]={104,101}; String s1 = new String(b1); 创建一个字符串对象,内容为"he"
String s1=new String("Hello world!");   // 创建一个字符串对象,内容是"Hello world!"
String s2="Hello world!";    // 效果同上一句
String s3 = new String();    // 创建一个空字符串
char c[] = {
   'h','e','l','l','o'};
String s4 = new String(c);  // 用字符数组创建一个字符串对象,内容是"hello"
byte b1[]={
   104,101};
String s5 = new String(b1);  // 用字节数组创建一个字符串对象,内容是"he"

       

访问元素

访问元素
s1.charAt(int index); 返回下标为index的字符
char c1=s1.charAt(1);   // 返回下标为1的字符,此处返回'e'

       

字符串长度

s1.length(); 返回值为字符串的长度
s1.isEmpty(); 字符串为则返回true,否则返回false
int len=s1.length();    // 返回字符串s1的长度,此处为12
boolean isE=s1.isEmpty(); // s1为空,返回true。此处返回false

       

查找

s1.contains(String s2); s1中包含s2则返回true,否则返回false
s1.indexOf(char element); 返回字符element在s1中第一次出现的位置,如果s1中没有则返回-1
s1.indexOf(char element,int index); 返回字符element 从s1的index位置开始,第一次出现的位置,如果没有则返回-1
s1.indexOf(String s2); 返回字符串s2在s1中第一次出现的位置,如果s1中没有s2则返回-1
s1.indexOf(String s2,int index); 返回字符串s2 从s1的index位置开始,第一次出现的位置,如果没有则返回-1
s1.lastIndexOf(char element); 返回字符element在s1中最后一次出现的位置,如果s1中没有则返回-1
<
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值