java基础总结之String性质和常用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础总结之String性质和常用方法相关的知识,希望对你有一定的参考价值。

package cn.wen.basic.test;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

import org.junit.Test;

/*
 * 面试题 string和stringBuffer的区别
 * 系统复习之string
 * string是一个常量  一旦输入不能修改,重新赋值是两个对象
 * 源码中可以看到 string被final修饰符修饰 为常量
 * String继承Serializable(可串行化的)接口和Comparable(比较类)和charSequence(序列化字符串)类
 * 源码对该类的定义为该值用于字符存储
 * api中说String创建的值不能变。字符串缓存区可以变(StringBuffer)。String支持共享
 */


public class testString {
	
	/*
	 * string method 往后要学会记方法名
	 * string的共享性
	 * char类型的支符数组可以转化为string类型的字符串 
	 * String源码中有这个构造方法来实现char数组转换为String
	 *  public String(char value[]) {
        this.value = Arrays.copyOf(value, value.length);
    }
	 */
	@Test
	public void  testStringCharShare(){
		String str="abc";
		System.out.println(str);
		//相当于
		char[] data={‘a‘,‘b‘,‘c‘};
		String str1=new String(data);
		System.out.println(str1);
	}
	
     @Test
     public void testStringConstructor(){
    	 String str0=new String();//初始化新创建的String对象,使其表示空字符序列
    	 byte[] bytes=new byte[1024];
    	 String str1=new String(bytes);//通过使用平台默认字符集解码指定的字节数组来构造新的string;
    	 str1="adfs";
    	 System.out.println(str1);
    	 try {
			String str2=new String(bytes,"UTF-8");//设置字符集解码指定的字节数组来构造新的string
			//类似方法
			String str3=new String(bytes,1,bytes.length-1);//通过使用平台默认字符集解码指定的字节子列阵来构造新的string。
			String str4=new String(bytes,0,bytes.length-1,"UTF-8");//bytes字节数组 0指定截取的字节的开始位置,length指定截取字节的最后位置。utf-8指定解码集
			char[] data1={‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘};
			String str5=new String(data1,1,4);
			System.out.println(str5);
		} catch (UnsupportedEncodingException e) {//如果不支持该类型的编码或者编码格式输入错误抛出异常
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	 
    	 
     }
     @Test
     public void testStringMethod(){
    	 String str1="abcdefghijklmnopqrstuvwxyz";
    	 char d=str1.charAt(3);//获取string字符串中的支符 返回char类型
    	 System.out.println(d);
    	 int a=str1.codePointAt(0);//获取第index个字符的acci码值
    	 System.out.println(a);
    	 int c=str1.codePointBefore(4);//获取第index个字符的前一个字符的acci码值
    	 System.out.println(c);
    	 int acci=str1.codePointCount(1, 5);//获取指定范围的unicode代码点数
    	 System.out.println(acci);
    	 String str2="c";
    	 int comp=str1.compareTo(str2);//按字典序比较两个字符串的大小。 
    	 System.out.println(comp);
    	 System.out.println("-------------------------");
    	 String[] str3=str1.split("d");//分割字符串 返回d以前和d以后的字符串  不包含d
    	 for(int i=0;i<str3.length;i++){
                System.out.println(str3[i]);
    	 }
    	 System.out.println("--------------------------");
    	 String strSon=str1.substring(1, 5);//截取字符串 1代表起始位置,5代表结束位置
    	 System.out.println(strSon);
    	 String strSon1=str1.substring(3);//截取字符串,从3开始
    	 System.out.println(strSon1);
    	 CharSequence cs=str1.subSequence(1, 4);//返回一个字符序列
    	 System.out.println(cs);
    	 String strUpper=str1.toUpperCase();//小写变大写 //toLowerCase 大写变小写
    	 System.out.println(strUpper);
     }
}

  String类在Java中是非常常用的类,String提供了很多非常好的方法帮助程序员进行字符串的操作,这在jee中非常有用,因为前台传过来的数据往往是字符串或者json数组的形式。


以上是关于java基础总结之String性质和常用方法的主要内容,如果未能解决你的问题,请参考以下文章

Java基础之常用类及方法

Java基础(30):String对象的常用方法与实例

Java 基础知识点 笔记总结

JavaScript进阶之常用字符串方法总结

java基础之多线程总结二(CAS和各种常用锁)

java基础之多线程总结二(CAS和各种常用锁)