java中的String类(来自毕向东老师视频资料)(一)

2014-11-24 02:50:40 · 作者: · 浏览: 0

package cn.itcast.p1.string.demo;

public class StringDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/*
		 * String类的特点:
		 * 字符串对象一旦被初始化就不会被改变。
		 * 
		 */
		stringDemo2();
	}

	public static void stringDemo2() {
		// TODO Auto-generated method stub
		
		String s = "abc";//创建一个字符串对象在常量池中。		
		String s1 = new String("abc");//创建两个对象一个new一个字符串对象在堆内存中。
		
		System.out.println(s==s1);//false
		
		System.out.println(s.equals(s1));
		//string类中的equals复写Object中的equals建立了string类自己的判断字符串对象是否相同的依据。
		//其实就是比较字符串内容。
		
		
//		System.out.println("s="+s);
//		System.out.println("s1="+s1);
		
	}

	/**
	 * 演示字符串定义的第一种方式,并明确字符串常量池的特点.
	 * 池中没有就建立,池中有,直接用。
	 */
	private static void stringDemo1() {
		String s = "abc";//"abc"存储在字符串常量池中。
//		s = "nba";
		String s1 = "abc";		
		System.out.println(s==s1);//true 
//		System.out.println("s="+s);
	}

}

package cn.itcast.p1.string.demo;

public class StringConstructorDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/*
		 * 将字节数组或者字符数组转成字符串可以通过String类的构造函数完成。
		 */
		
		stringConstructorDemo2();
	}

	private static void stringConstructorDemo2() {
		char[] arr = {'w','a','p','q','x'};
		String s = new String(arr,1,3);
		
		System.out.println("s="+s);
	}

	public static void stringConstructorDemo() {
		String s = new String();//等效于String s = "";  不等效String s = null;
		
		byte[] arr = {97,66,67,68};
		
		String s1 = new String(arr);
		System.out.println("s1="+s1);
		
	}



}

package cn.itcast.p1.string.demo;

public class StringMethodDemo {

	/**
	 * @param args
*/ public static void main(String[] args) { /* * 按照面向对象的思想对字符串进行功能分类。 * "abcd" * * 1,获取: * 1.1 获取字符串中字符的个数(长度). * int length(); * 1.2 根据位置获取字符。 * char charAt(int index); * 1.3 根据字符获取在字符串中的第一次出现的位置. * int indexOf(int ch) * int indexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置 * int indexOf(String str); * int indexOf(String str,int fromIndex); * 根据字符串获取在字符串中的第一次出现的位置. * int lastIndexOf(int ch) * int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置 * int lastIndexOf(String str); * int lastIndexOf(String str,int fromIndex); * 1.4 获取字符串中一部分字符串。也叫子串. * String substring(int beginIndex, int endIndex)//包含begin 不包含end 。 * String substring(int beginIndex); * * * * 2,转换。 * 2.1 将字符串变成字符串数组(字符串的切割) * String[] split(String regex):涉及到正则表达式. * 2.2 将字符串变成字符数组。 * char[] toCharArray(); * 2.3 将字符串变成字节数组。 * byte[] getBytes(); * 2.4 将字符串中的字母转成大小写。 * String toUpperCase():大写 * String toLowerCase():小写 * 2.5 将字符串中的内容进行替换 * String replace(char oldch,char newch); * String replace(String s1,String s2); * 2.6 将字符串两端的空格去除。 * String trim(); * 2.7 将字符串进行连接 。 * String concat(string); * * 3,判断 * 3.1 两个字符串内容是否相同啊? * boolean equals(Object obj); * boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。 * 3.2 字符串中是否包含指定字符串? * boolean contains(string str); * 3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。 * boolean startsWith(string); * boolean endsWith(string); * * 4,比较。 * */ stringMethodDemo_4(); // Syst