java中的String类

java中的String类

1.String 类

 包:java.lang  【不需要导包】

 类的定义:

public final class String    [没有子类,不能被继承]

extends Object

implements Serializable, Comparable<String>, CharSequence

含义:处理字符串数据 【字符串数据是程序处理最多的数据】

2.String类对象的创建

          1.可以象基本数据类型一个创建String类对象

               String  str1="hello";

         2.可以利用构造方法创建对象

String() 初始化新创建的 String对象,使其表示空字符序列。

String(String original) 初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。

String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。

String(char[] value, int offset, int count) 分配一个新的 String ,其中包含字符数组参数的子阵列中的字符。

例如:

//String() 初始化新创建的 String对象,使其表示空字符序列。

String  str2=new String();

//String(String original) 初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。

String  str3=new String("world");

//String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。

//byte[] bytes--字节数组

// int offset----数组元素的起始位置

//int length---数组的元素个数

//将字节数组转换成String [输入、输出流]

byte  bytearray[]={97,98,99,100};

String  str4=new String(bytearray,0,bytearray.length);

System.out.println("str4=="+str4); //abcd

//String(char[] value, int offset, int count) 分配一个新的 String ,其中包含字符数组参数的子阵列中的字符。

//char[] value--字符数组

// int offset----数组元素的起始位置

//int count---数组的元素个数

//将字符数组转换成String [输入、输出流]

char  charArray[]={'网','星','软','件'};

String str5=new String(charArray,0,charArray.length);

System.out.println("str5=="+str5);//网星软件

3.String类对象的使用 【调用方法处理符串数据】

char  charAt(int index) 返回 char指定索引处的值。

例如:

String  str1=new String("hello,world");

char c=str1.charAt(0);

System.out.println("c=="+c); //h

boolean contains(CharSequence s) 当且仅当此字符串包含指定的char值序列时才返回true。

例如:

String  str1=new String("hello,world");

boolean b=str1.contains("ow");

System.out.println("b=="+b);

boolean endsWith(String suffix)测试此字符串是否以指定的后缀结尾

例如:

String   strarray[]={"zhangsan","lisi","wangwu","zhangsi"};

for(String value:strarray){

  if(value.endsWith("si")){

    System.out.println("name=="+value);

    }

 }

boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。

例如:

String   strarray[]={"zhangsan","lisi","wangwu","zhangsi"};

 for(String value:strarray){

 if(value.startsWith("zhang")){

     System.out.println("name=="+value);

    }

   }

  byte[] getBytes() 使用平台的默认字符集将此 String编码为字节序列,将结果存储到新的字节数组中。 

例如:

   byte byteArray[]=  str1.getBytes();

   for(byte val:byteArray){

   System.out.println("val=="+val);

   }

char[]  toCharArray() 将此字符串转换为新的字符数组。

例如:

 char  charray[]=str1.toCharArray();

   for(char val:charray){

   System.out.println("val=="+val);

   }

int  indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引。

例如:

  int index=str1.indexOf("ll");

   System.out.println("index=="+index);

int  lastIndexOf(String str) 返回指定子字符串最后一次出现的字符串中的索引。

例如:

 int inde=str1.lastIndexOf("l");

   System.out.println("inde=="+inde);

int  length() 返回此字符串的长度。

boolean  matches(String regex) 告诉这个字符串是否匹配给定的 regular expression 。

String replace(CharSequence target, CharSequence replacement)将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。

例如:

  String str2=str1.replace("ll", "AA");

   System.out.println("str2=="+str2);

String[]  split(String regex)将此字符串分割为给定的 regular expression的匹配。

例如:

 String var[]=str1.split(",");

   for(String v:var){

   System.out.println("v=="+v);

   }

String substring(int beginIndex) 返回一个字符串,该字符串是此字符串的子字符串。

String substring(int beginIndex, int endIndex) 返回一个字符串,该字符串是此字符串的子字符串。

例如:

String  path="E:/20180903/java/20181024java(19)/String.docx";

  String fileName= path.substring(path.lastIndexOf("/")+1);

  System.out.println("fileName=="+fileName);

String trim() 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。

上面的这一组常用的方法都是实例方法,使用的时候需要String对象的。

4.String中的类方法【主要是进行基本数据类型与String之间的转换用的】

static String

valueOf(boolean b) 

返回 boolean参数的字符串 boolean形式。

static String

valueOf(char c) 

返回 char参数的字符串 char形式。

static String

valueOf(double d) 

返回 double参数的字符串 double形式。

static String

valueOf(float f) 

返回 float参数的字符串 float形式。

static String

valueOf(int i) 

返回 int参数的字符串 int形式。

static String

valueOf(long l) 

返回 long参数的字符串 long形式。

5.基本类型的数据转换成String ------- 通过String类的valueOf

例如:

int  a=100;  //int

String num=String.valueOf(a);  //num--String

System.out.println("num=="+num+100);

6.String转换成基本类型的数据  ---  基本类型的封装类 【 static  parseXXXX(String s)】

         1.只有基本类型才有自己对应的封装类

         2.封装类---其实就是基本类型对应的复合数据类型【java类】

           基本类型                                      封装类

             byte    0              ------               Byte   null

            Short   0              -----                Short    null

            int     0                 -----                Integer   null

            long    0               ----                 Long   null

            float    0.0            ----                 Float   null

            double  0.0          -----               Double  null

            char    ‘’               -----               Character  null

            boolean  false    ------               Boolean   null

        3.基本类型与它对应放入封装类类型的转换

                     3.1基本类型- ----》封装类类型 【构造方法】

                          自动装箱---基本数据类型转换成对应的封装类型

例如:

 int num1=100;

 //int-----》Integer [构造方法]

 //自动装箱---基本数据类型转换成对应的封装类型

 Integer  in= new Integer(num1);  

                     3.2 封装类类型---基本类型  【直接赋值】

                           自动拆箱---封装类型转换成对应的基本数据类型

 例如:

Double  dou=new Double(12.5);

//自动拆箱---封装类型转换成对应的基本数据类型

 double d=dou;

String转换成基本类型的数据  ---  基本类型的封装类 【 static  parseXXXX(String s)】

例如:

 String  str12="true";

 boolean  boo=Boolean.parseBoolean(str12);

 if(boo){

 System.out.println("转换成功");

 }

字节数组与String之间的相互转换

      1. 字节数组-----String  【String的构造方法】

      2.String------字节数组  【getBytes()】

字符数组与String之间的相互转换

1.  字符数组-----String  【String的构造方法】

2   String------字符数组  【toCharArray()】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值