zoukankan      html  css  js  c++  java
  • java中的字符

    1.字符串的不变性

        String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。

    String s1="爱慕课";

    String s2="爱慕课";

    String s3=new String("爱慕课");

    String s4=new String("爱慕课");

    system.out.println(s1==s2);//多次出现的字符串常量,java编译器只创建一个

    system.out.println(s1==s3);//s1和s3是不同对象

    system.out.println(s3==s4);//s3和s4是不同对象

    运行结果:

    true  

    false

    false

    注:如果想要比较两个字符串的内容是否相同,应使用”equals()”方法。

    string类的常用方法

    int length()  返回当前字符串长度

    int indexOf(int ch) 查找ch字符在该字符串中第一次出现的位置

    int indexOf(String str) 查找str子字符串在该字符串中第一次出现的位置

    int lastIndexOf(int ch)  查找ch字符在该字符串中最后一次出现的位置

    int lastIndexOf(String str)  查找str子字符串在改字符串中最后一次出现的位置

    String substring(int beginIndex)  获取从beginIndex位置开始到结束的子字符串

    String substring(int beginIndex , int endIndex) 获取从beginIndex位置开始到endIndex位置的子字符串

    String trim()  返回去除了前后空格的字符串

    bolean equals(Object obj)   将字符串与指定对象比较,返回true或者false

    String toLowerCase()  将字符串转换为小写

    String toUpperCase()  将字符串转换为大写

    char charAt(int index)  获取字符串中指定位置的字符

    String [ ] split (String regex,int limit)  将字符串分割为子字符串,返回字符串数组

    byte [ ] getBytes()  将字符串转换为byte数组

    当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

    定义StringBuilder类的对象

    StringBuilder str1=new String StringBuilder();

    StringBuilder str2=new String StringBuilder("imooc");

    System.out.println(str2);

    StringBuilder append (参数)  追加内容到当前StringBuilder对象的末尾

    StringBuilder insert(位置,参数)  将内容插入到StringBuilder对象的指定位置

    String toString()                将StringBuilder对象转换为String对象

    int length()                         获取字符串的长度

    代码实例:

    StringBuilder str=new StringBuilder("hello");

    str.append("imooc");

    str.append(520);

    System.out.println("插入前:”+str.length());

    str.insert(11,"!");

    string str2=str.toString();

    System.out.println("插入后:”+str2);

    运行结果:

    插入前:hello imooc520;

    插入后:hello imooc!520;

  • 相关阅读:
    EXT FileUploadField 文件上传失败
    CRM自定义页面
    The report server was unable to validate the integrity of encrypted data in the database. (rsCannotValidateEncryptedData) .
    sql存储过程与临时表
    MERGE INTO
    [LeetCode]Merge Two Sorted Lists
    [LeetCode]Search for a Range
    [LeetCode]Length of Last Word
    [LeetCode]Implement strStr()
    [LeetCode]Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/Dantewuxin/p/5733512.html
Copyright © 2011-2022 走看看