Java入门第三季(二、字符串)

(一)字符串被作为String类型的对象处理。String类位于java.lang包中。默认情况下,该包被自动导入所有的程序

  创建String对象的方法:

String s1 = “haha”;

String s2 = new String();

String s3 = new String("haha");

(二)字符串的不变性

String对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。

String s1 = "hi";

String s2 = "hi";

String s3 = new String("hi");

String s4 = new String("hi");

System.out.println(s1=s2);//多次出现的字符常量,Java编译程序只创建一个,所以返回true

System.out.println(s1=s3);//s1和s3是不同的对象,所以返回true

System.out.println(s3=s4);//s3和s4是不同的对象,所以返回true

s1 = “欢迎:”+s1;

System.out.println(s1);//字符串1被修改,指向新的内存空间

一旦一个字符串在内存中创建,则这个字符串将不可改变。如需要一个可改变的字符串,可用StringBuffer或StringBuilder。

每次new一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用“==”比较时也为“false”,如只需比较内容是否相同,应用“equals()”方法。

(三)String类的常用方法

int length返回当前字符串的长度
int indexOf(int ch)查找ch字符在该字符串中第一次出现的位置
int indexOf(String str)查找str子字符串在该字符串中第一次出现的位置
int lastIndexOf(int ch)查找ch字符在该字符串中最后一次出现德尔位置
int lastIndexOf(String str)查找str子字符串在该字符串中最后一次出现的位置
String substring(int beginIndex)获取从beginIndex位置开始到结束的子字符串
String substring(int beginIndex , int endIndex)
获取从beginIndex位置(包括)开始到endIndex位置(不包括)的字符串
String trim()返回去除了前后空格的字符串
boolean equals(Object obj)将该字符串与指定对象比较,返回true或者false
String toLowerCase()将字符串转换成小写
String toUpperCase()
将字符串转换成大写
char charAt(int index)获取字符串指定位置的字符
String[ ] split(String regex, , int limit)将字符串分割为子字符串,返回字符串数组
byte[ ] getBytes()将该字符串转换为byte数组

(四)String类的常用方法

   ==:判断两个字符串在内存中首地址是否相同,即判断呢是否是同一个子字符串对象。

equals:比较存储在两个字符串对象中的内容是否一致。

字节:计算机存储信息的基本单位,1个字节等于8位,gbk编码中一个汉字字符存储需要2个字节,1个英文字符存储需要1个字节。每个字节是8位,最大不能超过127,而汉字转换为字节后超过127,如果超过就会溢出,以负数的形式显示。

(五)StringBuilder类

  除了可用String类来存储字符串,还可用StringBuilder类或StringBuffer类存储字符串。当频繁操作字符串时,就会额外产生很多临时变量。使用StringBuilder或StringBuffer就可避免这个问题。

StringBuffer是线程安全,而StringBuilder则没有实现线程安全功能,所以性能略高。一般,如需创建一个内容可变的字符串对象,优先考虑用StringBuilder类。

StringBuilder str1 = new StringBuilder();

StringBuilder str2 = new StringBuilder("hello");

System.out.println(str2);

(六)StringBuilder类常用方法

StringBuilder append(参数)追加内容到当前StringBuilder对象的末尾
StringBuilder insert(位置,参数)将内容插入到StringBuilder对象的指定位置
String toString()将StringBuilder对象转换为String对象
int length()获取子字符串的长度


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值