java基础常用API之String

概述

java.lang包下,不须引用

常用构造方法
//1、String s = new String("value");
public String(String original);
//2、char[] ch = {'v','a','l','u','e'};String s = new String(ch);
public String(char[] value);
//3、char[] ch = {'v','a','l','u','e'};String s = new String(ch,2,2);
public String(char[] value,int index,int count);//index开始脚标,count长度
//4、直接等于某字符串
String str = "value";
String构造方法与赋值区别
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");
String s4 = new String("hello");
//true,hello字符串常量存放于方法区常量池,故s1、s2指向同一地址
System.out.println(s1 == s2);
//false
System.out.println(s1 == s3);
//false,new String("hello")每次执行都会在堆内存开辟新的空间存放hello字符串,故s3与s4指向不同的地址
System.out.println(s4 == s3);
常用成员方法:

判断类:

boolean equals(Object obj)//与指定对象比较
boolean equalsIgnoreCase(String s)//忽略大小写判断相等
boolean starsWith(String str)//是否以str开头
boolean endsWith(String str)//是否以str结尾

获取类:

int length()//字符串长度
char charAt(int index)//指定索引处的字符
int indexOf(String str)//str在该字符串第一次出现的索引值
String substring(int start)//从start位置开始到最后截取的字符串
String substring(int start,int end)//从start开始到end结束截取的字符串

转换功能:

char[]  toCharArray()//字符串转换字符数组
String toLowerCase()//转换为小写
String toUpperCase()//转换为大写

其他:

String trim()//删去空格(只删除头尾两端的空格,中间的不处理)
boolean matches(String regex)//在字符串中匹配regex,有则true,无则false
String[] split(String str)//以str为分隔符分隔字符串

拓展:StringBuffer与StringBuilder

概述

StringBuffer与StringBuilder都是为了更好地拼接字符串而产生的字符串缓冲区类,两者功能大致相同,区别在于StringBuffer线程安全,但增加了开销

为什么引入StringBuilder与StringBuffer

String str = "hello"+"world";
以上述字符串拼接为例,该过程共涉及到3个字符串常量,因此要在方法区常量池中开辟3个内存空间,而该过程完结后,hello和world就用不到了,但并不会被销毁,因此成为占内存的垃圾。

StringBuilder

常用构造方法:

public StringBuilder();//构建一个空的字符串构建器,初始容量16
public StringBuilder(String str);//构建一个初始化内容为str的字符串构建器

常用成员方法:

public int capacity();//返回当前容量,初始化为16
public int length();//长度
public StringBuilder append(任意类型变量);//添加数据,可以是引用变量,也可基本类型
public StringBuilder reverse();//反转顺序
与String转换

StringBuilder—>String

StringBuilder sb = new StringBuilder();
sb.toString();

String—>StringBuilder

String str =  "hello";
StringBuilder sb = new StringBuilder(str);

正则表达式简单使用

[1-9] 匹配范围中的一个
{1,5} 前面相邻规则重复次数,最少1遍,最多5次
* 匹配前面的子表达式0次或多次
+ 匹配前面的子表达式1次或多次
? 匹配前面的子表达式0次或1次
举例:手机号校验

  1. 手机号码必须11位数字
  2. 第一位必须是1,第二位必须是3,5,6,7,8中的一个,后面随便0到9

则该正则表达式写为 “1[35678][0-9]{9}”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值