Java中的String类

概念
String是引用数据类型,表示字符串(其实是由多个字符组成的
特点
String是final修饰的,所以是最终类,最终类是不能被继承的,既然不能被继承也就意味着里面的方法不能被重写
String中的构造方法

public static void constructorMethod() {
	String str = new String();
	System.out.println(str+"--"+null);
	
	String str2 = new String("wuhu");
	System.out.println(str2);
	String str3 = "qifei";
	System.out.println(str3);
	
	byte[] byteArr = {97,98,103,100};
	String str4 = new String(byteArr);
	System.out.println(str4);
	
	char[] charArr = {'a','b','c'};
	String str5 = new String(charArr);
	System.out.println(str5);
	//源码的写法
	String result = "";
	for(int i=0;i<charArr.length;i++) {
		result = result + charArr[i];
	}
	System.out.println(result);
}

运行结果

--null
wuhu
qifei
abgd
abc
abc

string中有用但不是很常用的方法
* 1.指定所引出的char值(str.charAt())
* 2.指定char值对应的索引(str.indexOf())(str.lastIndexOf())
* 3.比较(compareTo)
* 4.链接(concat())
* 5.结尾字符(endsWith())
* 6.开始字符(startsWith())
* 7.将字符串转换为字节数组byte[] bts = str.getBytes();
* 8.判断字符串是否为空.isEmpty()
具体实例代码

String str = "Hello Word";
	System.out.println("指定索引出的char值:"+str.charAt(1));
	System.out.println("指定char值对应的索引:"+str.indexOf('i'));
	System.out.println("指定char值对应的索引:"+str.lastIndexOf('i'));
	String compare1 = "adc";
	String compare2 = "aac";
	System.out.println(compare2.compareTo(compare1));
	System.out.println(compare2.concat(compare1));
	System.out.println("是否包含指定的字符串:"+str.contains("hello"));
	String url = "https://www.baidu.com";
	System.out.println(url.endsWith("cn"));
	System.out.println(url.startsWith("http"));
	//将字符串转换为字节数组
	byte[] bts = str.getBytes();
	//print(bts);
	System.out.println("判断字符串是否为空字符:"+"".isEmpty());

运行结果

指定索引出的char值:e
指定char值对应的索引:-1
指定char值对应的索引:-1
-3
aacadc
是否包含指定的字符串:false
false
true
判断字符串是否为空字符:true

String中有用的且常用的方法
* 1.替换(replace())
* 2.截取(substring())如果只有一个参数,代表开始,直到末尾结束,如果有两个参数,参数一代表开始,参数二代表结束位置(不包含)
* 3.分割(split())参数代表要拆分的依据
* 4.转换为纯大写(toUpperCase()),纯小写(toLowercase())
具体实例代码

String url = "http://www.shipin.douyu.com";
		String newUrl = url.replace("douyu", "huya");
		System.out.println(newUrl);
		System.out.println(url.substring(5));
		System.out.println(url.substring(8, url.length()));
		String[] urlArr = url.split("\\.");
		System.out.println(urlArr[urlArr.length-2]);
		System.out.println("转换为纯大写:"+url.toUpperCase());
	}

运行结果

http://www.shipin.huya.com
//www.shipin.douyu.com
ww.shipin.douyu.com
douyu
转换为纯大写:HTTP://WWW.SHIPIN.DOUYU.COM

字符串的创建
字符串有两种创建方式,一种是通过new关键字进行对象的创建,还有一种通过直接赋值的形式进行字符串对象的创建,两种创建方式的区别在哪?
字符常量都在常量池(方法区)中存储,是有自己的地址的,而通过new关键字创建出来的对象在堆内存中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值