Java String

本文介绍了Java中String类的特性,它是特殊对象,可通过多种方式创建,能直接进行+运算。还阐述了String类的常用方法,如返回指定位置字符、比较字符串等。此外,提到String创建后不可更改,Java提供StringBuilder提高效率,以及数字和字符串的转换。

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

String是一种特殊的对象(不同于基本数据类型)。String类的特殊性可以它的两个其他的类不具有的特点体现出来

  • 在创建一个String对象的时候,我们不仅可以通过和其他类类似的创建方式,通过new的方式创建,我们也可以直接通过赋值创建

    String newStr1 = new String("content"); // 和其他对象类似的创建方式
    String newStr2 =  "content";
    // String 特殊的创建方式
    
  • String可以直接进行+运算,达到字符串连接的效果

    String str3 = "One String";
    String str4 = " Another String";
    String str5 = str3 + str4;
    // str5 = "One String Another String"
    

另外一个需要注意的点:String可以为空,但是空字符串不代表null

String str6 = "";
String str7 = new String();
String str8 = null;
/* str6和str7一样,但和str8不一样 */

String作为一个对象,具有一个对象应该具有基本元素。String的field都是private的,所以我们也不需要知道他们的具体内容。String提供的method可以帮助我们实现很多对String的操作

  • char charAt(int i) 返回String在第 i i i个位置的字符

  • int compareTo(String anotherString) 返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。(菜鸟教程

  • String concat(String str) 和加法运算符相同的效果

  • int indexOf(int ch) int indexOf(int ch, int fromIndex) int indexOf(String str) int indexOf(String str, int fromIndex)返回String中出现的第一个相应的参数字符的下标,fromIndex表示从此处开始搜索。对应的有int lastIndexOf(parameters)表示最后一个出现的字符下标

  • boolean isEmpty() 判断一个String是否为空,若是返回true。

  • String replace(char oldChar, char newChar) 将原本的字符串中的所有oldcharnewChar代替,返回替换后的字符串

  • String[] split(String regex, int limit)regex为界限分割String得到一个数组。参数int limit(optional)表示分割的上限次数(以前limit-1的regex进行分割,共分成limit个String),limit<=0表示无界限。

    e.g. 在下面这种情况中,|被编译器默认认为是或运算符, 所以我们需要用"\\|"进行区分

    String s=“ABC|DEF|GHI”;
    s.split(|)
    /*-> [ “A”, “B”, “C”, “|”, “D”, “E”, “F”, “|”, “G”, “H”, “I”];*/
    String s=“ABC|DEF|GHI”;
    s.split(“\\|);
    /* -> [ “ABC”, “DEF”, “GHI”]; */
    
  • String substring(int beginIndex, int endIndex) 返回从beginIndex开始到endIndex(不包括)的substring。

  • String trim() 返回消除了所有空格之后的字符串

  • 有关String更详细的方法可以参考官方文档

String一旦被创建就不能再更改(注:String.concat()和运算符"+"都会创建一个新的String对象而不是在原来的String基础上进行更改),所以Java提供了另一个类来实现String的更改

StringBuilder strbui = new StringBuilder("something ");
strbui.append("another thing ");
// strbui: something another thing

相比于concat和加法运算,使用StringBuilder的好处就是提高了效率

数字和字符串之间的转换

  • Integer与String转化

    • Integer.parseInt(str)str转化为对应的Integer

    • Integer转化为对应的字符串

       String a = "" + 123;
       String a = Integer.toString(123);
       String a = String.valueOf(123);
      
  • Double与String转化

    • Double.parseDouble(str)str转化为对应的Double

    • Double转化为String使用String.valueOf(double d)

      double d = 11.01;
      String s = String.valueOf(d);
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值