字符串

基本特性

  1. final:字符串被修饰为final,是不能被继承的。

  2. immutable:字符串是不可改变的,例如创建了一个字符串对象,就不可改变它,即不能进行增删查改其中的字符。一旦创建好这个字符串,里面的内容永远不改变,字符串的表现就像一个常量。

  3. 字符串长度:

    str.length();
    //数组长度
    array.length;
    //集合类的长度
    arraylist.size();

常用方法

char a = str.charAt(0);//获取指定位置的字符
char[] cs = str.toCharArray();//获取对应的字符数组
String substr1 = s.substring(3);//截取从第3个开始的字符串(基0)
String substr1 = s.substring(3,5);//截取从第3个到第5-1个位置的字符串
String[] strs = s.split(",");//根据参数进行分割,得到一定个数的子字符串
s = s.trim();//去掉首尾空格
s.toLowerCase();//全部变成小写
s.toUpperCase();//全部变成大写
int i = s.indexOf("8个");//indexOf()判断字符或字符串出现的位置
int i2 = s.indexOf(',', 5);//从位置5开始,','出现的位置
boolean r = s.contains("击杀");//判断是否包含子字符串
String temp = s.replaceAll("QQ", "WW");//将QQ替换为WW
String t = s.replaceFirst("QQ", "WW");//将第一个QQ替换成WW

StringBuffer

StringBuffer是可以变长的字符串。与String内部是一个字符数组一样,StringBuffer也维护了一个字符数组。

但是StringBuffer内的字符数组留有冗余长度。sb.length是已有字符的长度,初始长度为capacity,不同的JDK值不同。

超过capacity的话,就会进行扩容。先计算出新的容量,创建一个新的数组,然后将原数组复制到新数组中。

String str = "hello, world"
StringBuffer sb = new StringBuffer(str);//根据str创建一个StringBuffer对象
sb.append("hello again");//在最后追加
sb.delete(4, 10);//删除4-10之间的字符
sb.insert(4, "lalal");//在4这个位置插入
sb.reverse();//反转

字符串常用方法总结与StringBuffer基础的更多相关文章

  1. python基础3 字符串常用方法

    一. 基础数据类型 总览 int:用于计算,计数,运算等. 1,2,3,100...... str:'这些内容[]'    用户少量数据的存储,便于操作. bool: True, False,两种状态 ...

  2. Python基础二_操作字符串常用方法、字典、文件读取

    一.字符串常用方法: name.captitalize()                       #字符串首字母大写 name.center(50,'*')                   ...

  3. 【python基础语法】字符串常用方法 、列表(第3天课堂笔记)

    """ 字符串的方法 join 字符串拼接,将列表转换为字符串 find 查找元素位置 count 查找元素个数 replace 替换字符 split 字符串分割,将字符 ...

  4. python基础(2)字符串常用方法

    python字符串常用方法 find(sub[, start[, end]]) 在索引start和end之间查找字符串sub ​找到,则返回最左端的索引值,未找到,则返回-1 ​start和end都可 ...

  5. JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类

    字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...

  6. OC中的字符串常用方法

    OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...

  7. python 字符串常用方法

    字符串常用方法 capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() ...

  8. python_字符串常用方法

    1.切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚). a = 'ABCDEFGHIJK' print(a[0:3]) # print(a[:3]) 从开头开 ...

  9. Day2:字符串常用方法

    字符串常用方法 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan name = "my \tname is ...

随机推荐

  1. HZNU-ACM寒假集训Day6小结 线性DP

    线性DP 考虑一组硬币面值 1,5,11 给定W,求凑出W的最少硬币个数 我们记凑出n需要用到的最少硬币数量为f(n)   我们注意到了一个很棒的性质 : f(n)只与f(n-1) f(n-5) f( ...

  2. Hive鲜为人知的宝石-Hooks

    本来想祝大家节日快乐,哎,无奈浪尖还在写文章.谴责一下,那些今天不学习的人.对于今天入星球的人,今天调低了一点价格.减少了20大洋.机不可失失不再来.点击阅读原文或者扫底部二维码. hive概述 Hi ...

  3. redhat8 不支持ansible批量管理解决方案

    redhat8默认不安装python,因此无法通过python去管理,直接上解决方案. dnf install python3 -y alternatives --set python /usr/bi ...

  4. sql优化从300秒到7秒

    原始sql select b.jd 街道,b.rglm 楼宇,zzrl 楼宇编号,count(oname) 入楼企业总数, (select count(oname) from ${tablename} ...

  5. Java多线程通讯---------wait,notify区别

    class Res{ public String username; public String sex; } class Out extends Thread{ Res res; public Ou ...

  6. 配置gitlab代码提交之后自动触发jenkins

    https://www.cnblogs.com/bugsbunny/p/7919993.html

  7. lvm 逻辑卷分区删除恢复

    原因:执行 lvremove /dev/system/lv_trans 删除逻辑分区 恢复: 1.进入到lvm查看元数据 cd /etc/lvm/archive 2.恢复元vg卷组 vgcfgrest ...

  8. Hadoop的FlieSystem类的使用

    1.使用FileSystem类需要导入jar包 解压hadoop-2.7.7.tar.gz 复制如下三个jar包和lib下所有jar包到项目文件下的lib文件 2.查看文件信息 @Test publi ...

  9. [Python]h5py/__init__.py:36:

    个人博客地址:https://www.bearoom.xyz/2019/08/24/python-devolop-env-hdf5-problem/ 安装tensorflow之后,在导入tensorf ...

  10. 计蒜客 蒜头君回家(有条件的BFS)

    蒜头君要回家,但是他家的钥匙在他的朋友花椰妹手里,他要先从花椰妹手里取得钥匙才能回到家.花椰妹告诉他:“你家的钥匙被我复制了很多个,分别放在不同的地方.” 蒜头君希望能尽快回到家中,他需要首先取得任意 ...