String类构造方法与普通方法--Java基础058

package test;

public class Demo1 {
	public static void main(String[] args) {
		
		
		//1对象的比较
		
		String str1 = "hello";
		String str2 = "hello";
		String str3 = new String("hello");
		String str4 = new String("hello");
		System.out.println("str1==str2?"+(str1==str2));  // true  
		System.out.println("str2==str3?"+(str2==str3));  //false
		System.out.println("str3==str4?"+(str3==str4));  // false
		System.out.println("str3.equals(str2)?"+(str3.equals(str4))); //true
		//是String类重写了Object的equals方法,比较的是两个字符串对象 的内容 是否一致。
		// "=="用于比较 引用数据类型数据的时候比较的是两个对象 的内存地址,equals方法默认情况下比较也是两个对象 的内存地址。
	
		//2.构造方法
		/*
		 	1>.String()  创建一个空内容 的字符串对象。
		 	2>.String(byte[] bytes)  使用一个字节数组构建一个字符串对象
		 	3>.String(byte[] bytes, int offset, int length) 
		 		bytes :  要解码的数组
		 		offset: 指定从数组中那个索引值开始解码。
		 		length: 要解码多个元素。
		 	
		 	4>.String(char[] value)  使用一个字符数组构建一个字符串。	
		 	5>.String(char[] value, int offset, int count)  使用一个字符数组构建一个字符串, 指定开始的索引值,与使用字符个数。
			6>.String(int[] codePoints,int offset,int count)
			7>.String(String original) 

			记住: 使用字节数组或者字符数组都可以构建一个字符串对象。
		 */
		//1>.
		String str = new String();
		//2>.
		byte[] buf = {97,98,99};
		str = new String(buf);
		//3>.
		str = new String(buf,1,2);
		//4>.
		char[] arr = {'a','b','c'};
		str = new String(arr);
		//5>.
		str = new String(arr,1,2);
		//6>.
		int[] arrInt = {97,98,99};
		str = new String(arrInt,1,2);
		//7>.
		str = new String("123");
		System.out.println(str);
		
		/*
		 3	获取方法
			1>.int length()  获取字符串的长度
			2>.char charAt(int index) 获取特定位置的字符 (角标越界)
			3>.int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示。
			4>.int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示
		*/
		
		str = new String("abcdefgbc");
		
		System.out.println("字符串的长度:"+str.length());
		System.out.println("获取特定位置的字符"+str.charAt(2));
		System.out.println("查找子串第一次出现的索引值:"+str.indexOf("bc"));
		System.out.println("查找子串最后一次出现的索引值:" + str.lastIndexOf("bc"));
		
		/*
		 4	判断方法
			boolean endsWith(String str) 是否以指定字符结束
			boolean isEmpty()是否长度为0 如:“” null V1.6
			boolean contains(CharSequences) 是否包含指定序列 应用:搜索
			boolean equals(Object anObject) 是否相等
			boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等
		 */
		str = new String("Demo.java");
		System.out.println("是否以指定 的字符串结束:"+ str.endsWith("ja"));
		System.out.println("判断字符串是否为空内容:"+str.isEmpty());
		System.out.println("判断字符串是否包含指定的内容:"+ str.contains("Demo"));
		System.out.println("判断两个 字符串的内容是否一致:"+ "DEMO.JAVA".equals(str));
		System.out.println("判断两个字符串的内容是否一致(忽略大小写比较):"+ "DEMO.JAVA".equalsIgnoreCase(str));

		/*
		 5  转化方法
		String(char[] value) 将字符数组转换为字符串
		String(char[] value, int offset, int count)
		
		Static String valueOf(char[] data)  将字符数组转换为字符串  注意此方法为静态方法
		static String valueOf(char[] data, int offset, int count)
		
		char[] toCharArray()  将字符串转换为字符数组
		 */
		
		/*
		 6    其他方法
			String replace(String oldChar, String newChar) 替换
			String[] split(String regex) 切割
			
			String substring(int beginIndex)   指定开始 的索引值截取子串
			String substring(int beginIndex, int endIndex)指定开始 与结束的索引值截取子串
			
			String toUpperCase() 转大写
			String toLowerCase() 转小写
			String trim() 去除字符串首尾的空格
		*/

	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值