String类的常用方法

String

String str = new String();//创建一个Null字符串对象;
String str = new String(“abc”);//创建一个为abc的字符串对象。

API(注意:此字符串为调用API者)

char charAt(int index);
int compareTo(Object o);
String concat(String str);将一个字符串连接到此字符串的末尾;
boolean equals(String str);
int indexOf(String str);//返回子字符串str在此字符串中第一次出现处的索引,不存在返回-1;
int length();
String substring(int beginIndex ,int endIndex);返回一个新的字符串;左闭右开,包含开始索引,不包含结尾索引;
char[] toCharArray();
boolean isEmpty();


boolean contains(CharSequence s);//CharSequence 是个接口 ,可以用来实现是否包含公共子串;
源码介绍:内部调用本身的indexOf()方法
public boolean contains(CharSequence s) {
return indexOf(s.toString()) >= 0;
}

注意:String类里的方法不会对本身进行改变

Stringbuilder

Stringbuilder 对String类可以进行操作;

void append(Object obj);
int indexOf(String str);//返回子字符串str在此字符串中第一次出现处的索引,不存在返回-1;
StringBuilder reverse();//返回的是一个新的Stringbuilder对象,为对象的反转,当然也可以再赋值给原先调用者Stringbuilder;
boolean isEmpty();
char charAt(int index);

String 数字 字符的相互转换

1、数字、字符串相互转换

// 数字转字符串 method1
		int number = 5;
		String str = String.valueOf(number);
		System.out.println(str);

// 数字转字符串 method2
		int number = 5;
		Integer itr = number;  //int装箱为对象,再调用对象的toString方法
		String str = itr.toString(); //或者直接 String str = Integer.toString(number);
		System.out.println(str);

// 数字转字符串 method3
		int number = 5;
		String str = number + "";
		System.out.println(str);

// 字符串转数字
		String str = "123";
		int number = Integer.parseInt(str);//Integer.valueOf(str)	 注意字符串必须由数字组成	 
		System.out.println(number);

2.字符、字符串相互转换

//字符转字符串 method 1
		char ch = '5';
		String str = String.valueOf(ch);
		System.out.println(str);

//字符转字符串 method 2
		char ch = '5';
		String str = ch + "";
		System.out.println(str);	
// 字符串转字符
		// 其实这里也算不上转换了,只是获取对应位置上字符
		String str = "123";
		char ch = str.charAt(0); //这里获取到的字符为1
		System.out.println(ch);

3.数字、字符相互转换

// 数字转字符
		// 不能直接转换,如下图。因此需借助数字转字符串。
		// 首先将数字转为字符串,再获取字符
		int number = 5; //注意这里数字只能是个位数并且不能为负
		String temp = Integer.toString(number);
		char ch = temp.charAt(0);
		System.out.println("数字转字符:"+ch);
// 字符转数字
		// 先把字符转为字符串,再转换为数字
		char ch = '5';
		String temp = String.valueOf(ch);
		int a = Integer.parseInt(temp);
		System.out.println(a);
		//或者
		int a = ch - '0';

4.字符数组转字符串

String newStr = new String(charArray, 0, charArray.length);
//或者 new String(charArray);




String s = "123";
s.substring(2);
这个并不会对s进行改变
如果是复制给s,
s = s.substring(2);这个只是新建了一个对象s.substring()是一个新的对象,这个对象会存在内存块里,只不过s此时会指向这个内存块,不再指向123这个对象了。
 StringBuilder sb = new StringBuilder(s);
sb.substring(1);也是同一个意思
但Stringbuilder()里的reverse()会对字符串进行翻转可以改变值,String里没有这个方法
sb.reverse();这时sb已经改变了,不用再赋值给sb了 。

<----------------------------->



String s = "123";
StringBuilder sb = new StringBuilder(s);
s = sb.substring(1);
sb.reverse();
System.out.println(s);
System.out.println(sb.toString());    
这个赋值给s了,sb里照样翻转
 输出 23
     321
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值