zoukankan      html  css  js  c++  java
  • java笔记之String的应用

    说来这String字符串也是运用广泛了,但是String的一些使用方法你是否能够了解清楚呢?

    这是我这几天来整理的String笔记,其实这也是不全面的,要想深入了解,还得自己去oracle官网看JDK_API

    1.我们要先了解在内存区中是如何保存字符串的.

     如果创建字符串没有通过new对象的方式创建,name字符串是保存在字符串常量池(常量区),当你需要给一个字符串变量赋值的时候,先到常量池中查找,如果没有就在常量池中创建一个,并将地址赋值给字符串变量,如果有就不在创建,直接将地址给变量.

     如果是new的对象字符串也是保存在字符串常量池(常量区),当你需要给一个字符串变量赋值的时候,先到字符串常量池中查找,

    如果没有就在常量池创建一个,将值赋给堆中的对象,如果有就不创建,将值赋值给堆区中的对象

     2.字符串的一些常用方法:

     StringBuffer: 字符串缓存区 : 存在一个字符数组 默认会有一个大小 :16 ,如果超了就容器大小就翻一倍。* 类似oc中的可变字符串。 */

     StringBuffer :存字符的容器

    容器的功能 :
    增加
    append(); //在字符串的后面追加
    insert(); //插入一个字符串。
    删除
    delete(int start, int end) // 删除某一段字符串。
    deleteCharAt(int index) // 删除指定位置的字符串
    修改
    replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。
    reverse() 翻转字符串缓冲类的内容。 abc--->cba

    setCharAt(int index, char ch) 把指定索引值的字符替换指定的字符。
    substring(int start, int end) 根据指定的索引值截取子串。
    ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组长度的。

    查找
    indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。
    lastIndexOf(String str)

    capacity() 查看当前字符数组的长度。
    length()

    charAt(int index)
    toString() 把字符串缓冲类的内容转成字符串返回。


    1.先简单的使用一下StringBuffer
    StringBuffer str = new StringBuffer();

    -------------添加字符串的方法---------------------
    str.append("字符串");
    str.append("java"); //字符串的追加

    插入字符串
    offset:从某一个位置开始插入
    str : 插入的数据类型
    str.insert(3, "php");
    System.out.println(str);

    ------------删除数据----------------
    delete(int start, int end) // 删除某一段字符串。
    deleteCharAt(int index) // 删除指定位置的字符串
    str.delete(3, 4); //包含起始位置 但是不包含结束位置
    System.out.println(str);
    删除指定位置的字符串
    str.deleteCharAt(0);
    System.out.println(str);

    ------------修改的方法-------------------
    start:起始位置
    end : 结束的位置
    str : 替换的字符串
    符串hpjava
    str.replace(4, str.length(), "OC");
    System.out.println(str);

    翻转字符串
    str.reverse();
    System.out.println(str);

    替换指定位置的字符
    index :指定的位置
    ch :替换的字符
    COph串符
    str.setCharAt(0, 'O');
    System.out.println(str);
    截取字符串
    str.substring(start); // 从某个位置开始截取
    str.substring(start, end)//截取某一段字符串

    -------------查找:
    str.indexOf(str);// 查找指定的字符串在大的字符串中的位置。
    indexOf(String str, int fromIndex) //从指定的位置开始找。
    str.lastIndexOf(str) 查找最后一个
     str.lastIndexOf(str, fromIndex)//从指定的位置开始找
    查看字符数组的长度
    str.length();
    str.capacity();

    str.toString(); // 将String变为String
    str.charAt(index); 查找指定位置的字符

    StringBulider 和StringBulider的使用方式是一模一样
    StringBuffer 和 StringBulider 区别:

    相同点 :
    1.都是字符缓冲类
    2.两个类的方法一样
    不同点:
    1.StringBuffer线程更安全,操作效率低,StringBulider 线程不安全,效率高。
    2.StringBuffer是jdk1.0就有的,StringBuliderjdk1.5才有。

    推荐使用:StringBulider


  • 相关阅读:
    一组网页边栏过渡动画,创意无限!【附源码下载】
    sql查询比较两表不同数据与相同数据
    Sql中的并(UNION)、交(INTERSECT)、差(minus)、除去(EXCEPT)详解
    防盗链基本原理(web安全测试实例二)
    篡改请求数据 或响应数据(web安全测试 实例三)
    【转】思维导图编写测试用例的两种格式
    【转】流媒体与直播技术
    Jmeter接口测试 不同的content-type传入参数方式(一)
    md5算法的java实现
    sql server 2008导出数据至Excel或者wps
  • 原文地址:https://www.cnblogs.com/guorui1995/p/6104726.html
Copyright © 2011-2022 走看看