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

时间: 2024-10-10 05:28:41

java基础总结之String性质和常用方法的相关文章

Java基础_0308:String类的常用方法

取出指定索引的字符 -- 使用charAt()方法 public class StringDemo { public static void main(String args[]) { String str = "hello"; // 定义字符串对象 char c = str.charAt(0); // 截取第一个字符 System.out.println(c); // 输出字符 } } 程序执行结果: h 字符数组与字符串的转换 public class StringDemo { p

JAVA基础——重新认识String字符串

深入剖析Java之String字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象有三种方法 String s1="我是字符串1"; String s2=new String();//创建一个空的字符串对象 String s3=new String("我是字符串2&q

java基础4:String与StringBuffer及基本数据类型包装类

关于Java基础的文章,我觉得写得还可以,以前发在了我其它的博客了,肯定是原创,现在再分享给大家出来. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【忘不了的Java基础】之String

问题: String存放在内存的哪个区域中? String创建几种方式的对比? String的比较==,和equals()方法,有什么不同? String为什么要设置成final类型? String做形参的传递是怎么的? String,与StringBuffer,StringBuilder? 1.String存放在内存的哪个区域中? 2.String创建几种方式的对比? public static void main(String[] args) { String s1 = "a";

Java基础-常用的String方法

先从String的new的方式 说起 这是面试题里面经常出现的 算是老套路之一 就是 比较下列两个的变化 两种实例化的区别 第一种String name1 = "好人";String name2 = "好人";name1和name2指向了同一空间,"haoren"只存储了一次 第二种String name4 = new String("坏人");String name5 = new String("坏人")

JAVA基础——Arrays工具类十大常用方法

Arrays工具类十大常用方法 原文链接:http://blog.csdn.net/renfufei/article/details/16829457 0. 声明数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a",

《Java架构筑基》从Java基础讲起——String类深入理解

一. String问题答疑 String字符串是如何设计与实现考量的? String字符串缓存 intern()方法,由永久代移到堆中. String 的演化,Java 9 中底层把 char 数组换成了 byte 数组,占用更少的空间 二. String的创建机理 由于String在Java世界中使用过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池.其运行机制是:创建一个字符串时,首先检查池中是否有值相同的字符串对象,如果有则不需要创建直接从池中刚查找到的对

【Java基础】关于String的总结

String构造方法初始化和常量赋值初始化区别 下面的代码是一个String对象的两种不同的初始化方式,关于这两种不同初始化方式的区别,本文通过画内存图来进行解释,首先代码如下: public class Test { public static void main(String[] args) { String s1 = new String("hello"); String s2 = "hello"; System.out.println(s1 == s2);

Java基础——Date和String的转换

先介绍构造函数(参见API) SimpleDateFormat(String pattern)           用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat. Date转字符串: public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); String s1 =