JavaString类的常用方法

字符与字符串

很多的编程语言都会强调利用字符数组来描述字符串,实际上在Java里面也存在有类似的概念,在String类中也提供有一系列与字符操作有关的方法

No. 方法名称 类型 描述
1 public String(char[] valus) 构造 将全部的字符数组作为String的内容
2 public String(char[] valus,int offset, int count) 构造 将部分的字符数组变为字符串,设置字符数字的开始索引以及字符个数
3 public char charAt(int index) 普通 返回指定索引位置上的字符
4 public char[] toCharArray() 普通 将字符串以字符数组的形式返回

字节与字符串

除了字符可以与字符串进行互相转换之外,字节也可以进行转换,但是这样的转换往往出现在实际开发当中

No. 方法名称 类型 描述
1 public String(byte[] bytes) 构造 将全部字节数组变成字符串
2 public String(byte[] bytes, int offset, int length) 构造 将部分字节数组变为字符串,设置字节数组的开始索引以及字符个数
3 public byte[] getBytes() 普通 将字符串变为字节数组
4 public byte[] getBytes(String charsetName) throws UnsupportedEncodingExecption 普通 编码转化

字符串比较

我们知道字符串比较有一个equals()方法,但是此方法本身是属于区分大小写的,对于字符串的比较实际上还有其他方法

No. 方法名称 类型 描述
1 public boolean equals(String anObject) 普通 区分大小写的字符串比较
2 public boolean equalsIgnoreCase(String anotherString) 普通 不区分大小写的字符串比较
3 public int compareTo(String anotherString) 普通 比较字符串大小
4 public int compareToIgnoreCase(String str) 普通 不区分大小写比较
  • 在进行字符串相等的比较操作之中,最为关键的一个方法时:compareTo();,这个方法返回一个int型数据有三种结果:大于(>0)、小于(<0)、等于(=0)

  • compareTo();compareToIgnoreCase();方法中是依据编码相减得来的结果,所以利用compareTo();方法的返回值就可以区分字符串的大小写关系


字符串查找

从一个完整的字符串之中查找一些子字符串,而可以实现这种字符串查找功能的方法有如下几种

No. 方法名称 类型 描述
1 public boolean contains(String s) 普通 判断某一个字符串是否存在
2 public int indexOf(String str) 普通 取得某一个字符串的位置,取不到返回-1
3 public int indexOf(String str, int fromIndex 普通 从指定索引位置开始检索子字符串位置,找不到就返回-1
4 public int lastindexOf(String str) 普通 从后向前检索子字符串位置,找不到就返回-1
5 public int lastindexOf(String str,intfromIndex)普通 从指定位置由后向前检索子字符串位置,找不到就返回-1
6 public boolean startsWith(String prefix) 普通 判断是否以某个字符串开头
7 public boolean startsWith(String prefix, int toffest) 普通 从指定位置判断是否以某个字符串开头
8 public boolean endsWith(String suffix) 普通 是否以某个字符串结尾

如果要查找中间的内容,基本上使用contains()方法,且在实际应用中contains();startsWith();endsWith();方法较为常用


字符串截取

可以通过一个完整的字符串截取里面的子字符串,方法如下

No. 方法名称 类型 描述
1 public String substring(int beginIndex) 普通 从指定索引位置截取到末尾
2 public String substring(int beginIndex,intendIndex) 普通 截取指定索引范围的内容

实际的工作之中,这种截取操作很常用


字符串替换

将一个指定的字符串替换成其他内容,方法如下:

No. 方法名称 类型 描述
1 public String replaceAll(String reges, String replacement) 普通 字符串的全部替换
2 public String replaceFirst(String reges, String replacement) 普通 只替换第一个内容

实际上使用替换功能可以人为的消除空格


字符串拆分

可以将一个完整的字符串根据指定的内容进行拆分,拆分后的结果就是对个字符串,也就是一个字符串的对象数组,方法如下

No. 方法名称 类型 描述
1 public String[] split(String regex 普通 全部拆分
2 public String[] split(String regex, int limit) 普通 部分拆分

“.”不能进行拆分,因为其是正则表达式的内容,如需拆分首先先进行转义,使用“\\.”
reges属于正则表达式的范畴


其他操作方法

以上是一些可以进行归类的操作方法,还有一些较为细小的操作方法如下

No. 方法名称 类型 描述
1 public int length() 普通 取得字符串的长度
2 public boolean isEmpty() 普通 判断是否为空字符串
3 public String toLowerCase() 普通 转小写
4 public String toUpperCase() 普通 转大写
5 public String trim() 普通 去掉左右空格,但是不去掉中间空格
6 public String concat(String ste) 普通 字符串连接,与“+”一样

Java使用了Unicode编码,所以中文和英文长度相同,这一点极大地方便了开发者。但在整个String类设计中并没有提供有类似于数据库中的initcap();函数的功能


自己实现首字母大写的操作形式

代码如下:

class Demo {
    public static void main(String[] args) {
        String str = "name";
        System.out.println(initcap(str));

    }
    public static String initcap(String str){
        if (str.length() == 0){
            return null;
        }
         return str = str.substring(0,1).toUpperCase()+str.substring(1);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352