java String 类型应用

String,即字符串类型

java里面没有内置的字符串类型,而是在标准的类库里面定义了一个预定一类

字符串都是用双引号括起来的

比如 str = “a”; 这代表的是一个名叫 str 的字符串,而 str = ‘a’ ,则代表一个字符,即char 类型,而不是String,在java里面,字符串类型不可以看成字符类型的一个数组,这点雨C++是有区别的。字符串类型,一定要用双引号括起来

子串

Strin类的substring方法可以从一个较大的字符串提取出一个子串:

String str = "Hello";

String s = str.substring(0,3);

这里, s = “Hel”;substring的第二个参数是不想复制的第一个位置,即只提取了str的前三个字符——Hel;

拼接

我们可以用“+”,直接将两个字符拼接起来:

String str1 = "Hello";
String str2 = "World!";
String str3 = str1 + " " + str2; //中间加了一个空格,让Hello 与World!分开

在这里,str3 = “Hello World!”;
当一个字符串与一个非字符串相加时:

int i = 5;
String str = "value =";
String s = str + i;

这时, s = “value =5”;(在java中任何字符串都可以转换为字符串)

不可变字符串

String 类没有提供可以修改字符串的方法,如果希望将字符串的内容修改,如:吧str 的 “Hello"修改为 “Help”,这时我们不能直接修改最后的 “lo” 改为 “p”,而是可以利用前面的substring方法,和”+"来实现:

str = substring(0,3) + "p";

这样我们就实现了字符串的修改

由于字符串的不可修改性,所以java 文档中将String类对象称为不可修改的字符串,即"Hello"永远都是"Hello",不能修改里面的任一个字符

这样做编译器就可以让字符串共享,因为这项字符串都存放在公共的存储池中,字符串变量指向存储池里面相应的位置,当你重新赋值时,并不是修改了这个字符串,而是相当于修改了该变量的指针,指向了你赋值时的新字符串

判断字符串是否相等

在java里面,判断字符串是否相等,可以使用equals()方法,而不应该用 “==”;因为“==”比较的是两个字符串的值是否相等,且比较两个字符串的地址是否相同,只有地址与值都相同时,才返回true;而equals只是单纯的比较二者的值,当值相等时,就返回true;即str.equals(s);

空串与NULL串

空串 “” 是指长度为0的字符串,可应利用if(str.length() == 0) 或者if(str.length("")) 来检测一个字符串是否为空串,空串是java的一个对象,有自己的长度(0)与内容(空),不过String变量还可以存放一个特殊的值,那就是所谓的 null,null 标识目前没有任何对象与该变量关联检测 null时,可以直接用"=="检测;即if(str == null)

String API

java中的String类包含50多个方法,并且大多数都有用,下面有一些常用的方法:

方法作用描述参数类型
char charAt(int index)返回底层的代码单元index:索引值
int compareTo(String other)按照字典顺序,如果字符串位于other之后,返回一个负数,之前,返回一个正数,若两字符串相等,返回0other:要比较的字符串
boolean equals(Object other)如果字符串与other相等,则返回true,否则返回falseother:要比较的字符串
boolean equalsIgnoreCase(String other)如果字符串与other想的(忽略大小写),返回trueother:要比较的字符串
boolean startsWith(String other)如果字符串以other开头或者结尾,返回trueother:要比较的字符串
boolean endsWith(String other)
int length()返回字符串长度无参数
int indexof(String str)返回与字符串str或者代码点cp相匹配的最后一个子串开始的位置,这个位置从原始串尾端或fromIndex开始计算str:需要匹配的字符串;cp:需要匹配的代码点;fromIndex:开始计算的索引
int indexof(String str,int fromIndex)
int indexof(int cp)
int indexof(int cp,int fromIndex)
String substring(int beginIndex)返回一个新字符串,这个字符串从原始字符串的beginIndex开始到endIndex - 1结束beginIndex:开始截取的索引;endIndex:结束截取的索引(不包含endIndex)
String substring(int beginIndex,int endIndex)
String trim()返回一个新字符串,这个字符串删除了原始字符串的头部和尾部的空格无参数
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值