• 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数组的形式。

  • 相关阅读:
    hdu 1074
    hdu 4091
    hdu 4422
    hdu 3940
    hdu 2831
    hdu 1172
    hdu 3732
    hdu 1250
    hud 2073
    IOS socket基于tcp/udp的通信
  • 原文地址:https://www.cnblogs.com/smallbrokenchildwen/p/7128762.html
Copyright © 2020-2023  润新知