java.String类

String

一、特点

1.字符串(String):是java中最常用的类,由final修饰;

2.字符串表示一个字符序列,是常量,即定义后不能改变;

3.为了提升性能,java对String进行了一些优化处理(String pool);

二、构造方法

使用最多的是字面值,优点是方便,高效;

String str = "字符串";

三、方法

1.int 字符串.length();//返回字符串长度;

2.int 字符串.indexOf();//返回某个字符的位置;

int 字符串.indexOf(string subString);//返回子串位置;

3.char charAt(int);//根据索引位置返回一个字符;

4.String subString(int beginIndex);//返回从指定位子开始的子串;

String subString(int beginIndex,int endline);//返回指定位置的子串,左闭右开;

5.String contract(String str);//连接字符串,返回新串;

6.String[]  split(String);//将字符串进行拆分;

7.String trim()

8.String toLowerCase();

9.toUpperCase();

10.int compareTo(String anoString)://比较两个字符串的大小;

int compareToIgnoreCase(String anoString)://忽略大小写后,比较两个字符串的大小

11.boolean equals(String anoSreing);//内容是否相等;

bolean equalsIgnoreCase(String anSreing);//忽略大小写;

12.startswith(String prefix);//是否以某个前缀开头;

13.endwith(String suffix);//是否以某个后缀结尾;

四、字符串池

1.字符串(String类)的特点:最长用的类,常量不能改变;

(注意:因为字符串是常量,所以给字符串第二次赋值就是重新创建,并且字符串调用String方法时,会创建新字符串作为输出,对原字符串无丝毫改变;)

2.java对String做了一个优化,即字符串池;

限制:如果想利用字符串池,必须使用字面值的形式定义字符串;

原理:使用字面值定义(String s = "无敌");时,直接在字符串池中创建,以后再用字面值定义时,如果字符串值相同,则不再创建新的,直接指向字符串池中已创建的;

使用创建对象定义时(String s = new String(“无敌”):,先在字符串池中寻找有无相同值,若有不进行任何操作,若无先在字符串池中创建,然后再到堆中创建,倘若以后再用创建对象定义时,重复以上操作,但仍要在堆中重新创建,不能指向堆中曾经已有的相同值;

理解:在Java中,字符串的相等性比较并不直接使用"=="运算符,而是使用".equals()"方法。使用"=="运算符会比较两个对象的引用是否相同,而不是比较它们的内容是否相同。

判断

== :表示地址是否相同;

equals :表示字符串值是否相同;

五、字符串替换

replace

source = "hello world";

String replace(String oldString, String newString);//替换所有字符串,返回新串;

String replaceAll(String regex,String newString);//替换所有的字符串,可以使用正则表达式,返回新串;

String replaceFirst(String regex,String newString);只替换第一个;

String replace(char oldChar,char newChar);替换字符;

六、字符串与基本数据类型的转换

1.String-->基本数据类型

包装类的parseXXX();/强制转换为......;

String a = "99";
int i = Integer.parseInt(a);
System.out.println(a);
String b = "false";
boolean c = Boolean.parseBoolean(b);
System.out.println(c);

2. 基本数据类型-->String

使用包装类的toString()方法或者String.valueOf()方法进行转换。

int i = 99;
String a = Integer.toString(i);
System.out.println(a);
boolean c = false;
String b = String.valueOf(c);
System.out.println(b);

注意:我们所创建的字符串实际上就是一个字符型的数组,java自动完成了封装;

String s = "hello world";

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值