String类中常用方法总结

本文详细介绍了Java中String类的各种方法,包括获取字符串长度、索引字符、判断字符串内容等,并讲解了字符串替换、切割、子串获取及转换等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
String类:
用于描述字符串事物
提供了多个方法对字符串进行操作。

"adnhjjj"
字符从0开始计数。

单引号表示字符,双引号表示字符串

 

常见方法:
1.获取:

 a.字符串包含的字符数,即字符串长度:
 int length();获取长度。

 b.根据位置获取位置上的某个字符:
 char charAt(int index);获取字符

 c.根据字符获取该字符在字符串中的位置
 int indexOf(int ch);获取位置
 返回的是ch在字符串中第一次出现的位置。
 
 d.反向索引一个字符出现的位置
 int lastIndexOf(int ch)

 int indexOf(int ch)
          返回指定字符在此字符串中第一次出现处的索引。
 int indexOf(int ch, int fromIndex)
          返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
 
 int indexOf(String str)
          返回指定子字符串在此字符串中第一次出现处的索引。
 int indexOf(String str, int fromIndex)
          返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。


2.判断:

 a.字符串中是否包含某一个子串
  boolean contains(str);
注意:
 特殊之处:indexOf(str)可以索引str第一次出现的位置
 如果返回-1,就表示该str不在字符串中。
 所以,也可以用于指定判断是否包含;
 if(str.indexOf("a")!=-1)
 而且该方法既可以判断,也可以获取出现的位置。


 b.字符串中是否有内容
  boolean isEmpty();原理就是判断长度是否为0.
 c.字符串是否是以指定内容开头。
  boolean startsWith(str);
 d.字符串是否是以指定内容结尾。
  boolean endsWith(str);
 e.判断字符串内容是否相同,
  boolean equals(str);
 f.判断字符串内容是否相同,并忽略大小写。
  boolean equalsIgnoreCase(str);


 3.转换:

 a.将字符数组转换成字符串
 构造函数:
  String(char[])
  String(char[],offset,count)将字符数组中的一部分
  转换成字符串。起始位置,个数。
 静态方法:
  static String copyValueOf(char[]);
  static String copyValueOf(char[] data,int offset,int count);
  staitc String valueOf(char[]);

 ***b.将字符串转换成字符数组
  char[] toCharArray();

 c.将字节数组转换成字符串
  构造函数:
  String(byte[])
  String(byte[],offset,count)将字节数组中的一部分
  转换成字符串。起始位置,个数。
 
 d.将字符串转换成字节数组
  byte[] getBytes();

 e.将基本数据类型转换成字符
 static String valueOf(double d)
          返回 double 参数的字符串表示形式。
 static String valueOf(float f)
    返回 float 参数的字符串表示形式。
 static String valueOf(int i)
    返回 int 参数的字符串表示形式。
 static String valueOf(long l)
          返回 long 参数的字符串表示形式。


 特殊:字符串和字节数组在转换过程中是可以指定编码表的。

 
 
  4.替换:
 String replace(oldchar,newchar);
如果要替换的字符不存在,返回的还是原字符串。

 
  5.切割:
  String[] split(regex);

  6.子串:获取字符串中的一部分。
 String substring(begin);
 String substring(begin,end);
 

  7.转换、去除空格、比较
 a.将字符串转换成大写或小写
  String toUpperCase();
  String toLowerCase();

 b.将字符串两端的多个空格去除
  String trim();
 c.对两个字符串进行自然顺序的比较
  int compareTo(string)
*/

public class StringMethodDemo
{
 public static void main(String[] args)
 {
   //method_get();
    //method_if();
    //method_trans();
   // method_replace();
   //method_split();
   //method_sub();
    method_7();
 }

 


/*======转换、去除空格、比较===============================================*/

 public static void method_7()
 {
  String s = "  Hello Java  ";
  sop(s.toLowerCase());
  sop(s.toUpperCase());
  sop(s.trim());

  String s1 = "abc";
  String s2 = "aaa";
  sop(s1.compareTo(s2));
 
 }
/*=====子串===============================================*/
 public static void method_sub()
 {
  String s = "abcdef";
  sop(s.substring(20));//从指定位置开始到结尾。
  //如果角标不存在,会出现字符串角标越界异常。
  sop(s.substring(2,4));//包含头,不包含尾。
  sop(s.substring(0,s.length()));//整个字符串
 
 
 }
/*=====切割===============================================*/
 public static void method_split()
 {
  String s = "zhangsan,lisi,wangwu";
  String[] arr = s.split(",");
  for (int i=0;i<arr.length ;i++ )
  {
   sop(arr[i]);
  }
 }

/*=====替换==============================================*/
 public static void method_replace()
 {
  String s = "hello java";
  //String s1 = s.replace('a','n');

  String s1 = s.replace("java","c++");
  
  /*String s1 = s.replace('s','n');
  如果要替换的字符不存在,返回的还是原字符串。*/
  sop("s="+s);
  sop("s1="+s1);
 }

 

/*=====转换=============================================*/

 public static void method_trans()
 {
  char[] arr = {'a','b','c','d','e','f'};
  String s1 = new String(arr);
  String s2 = new String(arr,1,3);
  sop("s1="+s1);
  sop("s3="+String.copyValueOf(arr));
  sop("s2="+s2);
  
  String s3 = "jfkjdjfkd";
  char[] ch = s3.toCharArray();
  for (int i=0;i<ch.length ;i++ )
  {
   sop("ch="+ch[i]);
  }

 
 }

/*====判断============================================*/
  public static void method_if()
 {
  String str = "ArrayDemo.java";
  //判断文件名称是否是Array开头。
  sop(str.startsWith("Array"));
  //判断文件名称是否是.java结尾。
  sop(str.endsWith(".java"));
  //判断文件中是否包含Demo。
  sop(str.contains("Demo"));

  if(str.indexOf("Demx")!=-1)
   sop("true");
  else sop("false");
 }

/*====获取=============================================*/
  public static void method_get()
 {
  String str = "abcdeakpf";
  //长度
  sop(str.length());
  //根据索引获取字符
  sop(str.charAt(2));
  //当访问到字符串中不存在的角标时会发生字符串
 //角标异常问题。
 
  //根据字符获取索引
  //ssop(str.indexOf(98));
  sop(str.indexOf('n',2));
 
  //如果没有找到则返回-1;
  
  //反向索引一个字符出现的位置
  sop(str.lastIndexOf('a'));
 }
/*==================================================*/
 public static void sop(Object obj)
 {
  System.out.println(obj);
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值