java String

字符串 的创建方式.png

String 的构造方法:

String()  创建一个空内容 的字符串对象。
String(byte[] bytes)  使用一个字节数组构建一个字符串对象
String(byte[] bytes, int offset, int length) 
bytes :  要解码的数组
offset: 指定从数组中那个索引值开始解码。
length: 要解码多个元素。
String(char[] value)  使用一个字符数组构建一个字符串。  
String(char[] value, int offset, int count)  使用一个字符数组构建一个字符串, 指定开始的索引值,与使用字符个数。
String(int[] codePoints,int offset,int count)
String(String original) 

记住: 使用字节数组或者字符数组都可以构建一个字符串对象。

public class Demo2 {
    
    public static void main(String[] args) {
        String str = new String();
        byte[] buf = {97,98,99};
        
        str = new String(buf); //使用一个字节数组构建一个字符串对象
        str = new String(buf,1,2);   //使用一个字节数组构建一个字符串对象,指定开始解码 的索引值和解码的个数。
        
        char[] arr = {'明','天','是','圣','诞'};
        str = new String(arr); //使用字符数组构建一个字符串
        str = new String(arr,3,2);
        
        int[]   buf2 = {65,66,67};
        str = new String(buf2,0,3);
        
        str = new String("abc");
        
        System.out.println("字符串的内容:"+str);
    }
    
}

String 其他方法:慢慢更新

获取方法

int length()  获取字符串的长度
char charAt(int index) 获取特定位置的字符 (角标越界)
int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示。
int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示
public class Demo3 {
    
    public static void main(String[] args) {
        String str = "abc中国ab中国";
        System.out.println("字符串的字符 个数: " + str.length() );
        System.out.println("根据索引值获取对应 的字符:"+ str.charAt(3));
        System.out.println("查找子串第一次出现的索引值:" + str.indexOf("中国"));
        System.out.println("查找子串最后一次出现的索引值:" + str.lastIndexOf("中国"));
        
    }
}

判断方法

boolean endsWith(String str) 是否以指定字符结束
boolean isEmpty()是否长度为0 如:“” null V1.6
boolean contains(CharSequences) 是否包含指定序列 应用:搜索
boolean equals(Object anObject) 是否相等
boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等

转换方法
字节数组与字符数组、字符串他们三者之间是可以互相转换。

char[] toCharArray()  将字符串转换为字符数组
byte[]  getBytes();
public class Demo4 {
    
    public static void main(String[] args) {
        String str = "Demo.java";
        System.out.println("是否以指定 的字符串结束:"+ str.endsWith("ja"));
        //str = "";
        System.out.println("判断字符串是否为空内容:"+str.isEmpty());
        System.out.println("判断字符串是否包含指定的内容:"+ str.contains("Demo"));
        System.out.println("判断两个 字符串的内容是否一致:"+ "DEMO.JAVA".equals(str));
        System.out.println("判断两个字符串的内容是否一致(忽略大小写比较):"+ "DEMO.JAVA".equalsIgnoreCase(str));
        
        
        //转换的方法
        char[] buf = str.toCharArray();  //把字符串转换字符数组
        System.out.println("字符数组:"+ Arrays.toString(buf));
        byte[] buf2 = str.getBytes();   //把字符串转字节数组
        System.out.println("字节数组:"+ Arrays.toString(buf2));
    }

}

其他方法

String replace(String oldChar, String newChar) 替换
String[] split(String regex) 切割
String substring(int beginIndex)   指定开始 的索引值截取子串
String substring(int beginIndex, int endIndex)指定开始 与结束的索引值截取子串
String toUpperCase() 转大写
String toLowerCase() 转小写
String trim() 去除字符串首尾的空格
public class Demo5 {
    
    public static void main(String[] args) {
        String str = "今天晚上不考试";
        System.out.println("指定新内容替换旧 的内容:"+ str.replace("不", "要好好"));
        str = "大家-下-午-好";
        String[] arr = str.split("-"); //根据指定的字符进行切割 。
        System.out.println("字符串数组的内容:"+ Arrays.toString(arr));
        str = "广州传智播客";
        System.out.println("指定开始的索引值截取子串:"+ str.substring(2));
        System.out.println("指定开始的索引值截取子串:"+ str.substring(2,6)); //包头不包尾  注意:截取的内容是包括开始的索引值,不包括结束的索引值, 截取的位置是结束的索引值-1.
        
        str = "abC中国";
        System.out.println("转大写:" + str.toUpperCase());
        str = "AbdfSDD"; 
        System.out.println("转小写:"+ str.toLowerCase());
        
        str = "         大家最近        都非常努力            ";
        System.out.println("去除字符串首尾的空格:"+ str.trim());
        
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,719评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,337评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,887评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,488评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,313评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,284评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,672评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,346评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,644评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,700评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,457评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,316评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,706评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,261评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,648评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,859评论 2 335

推荐阅读更多精彩内容

  • java中String的常用方法 1、length()字符串的长度 例:char chars[]={'a','b'...
    赤赤有名阅读 2,022评论 0 10
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,510评论 18 399
  • 日期:2017-10-02 今天10月2日,昨天去千灯古镇游玩了一天,今天打算复习一下String类 地点:上海市...
    起风了dzj阅读 583评论 0 1
  • JAVA Doc public final class String extends Object impleme...
    风语安然阅读 1,032评论 0 3
  • 用了周末的时间把线稿画完了 临摹已经能做到85%的相似度了 画完这50张儿童画后我准备接着画我的彩铅
    夏秋爱画阅读 542评论 0 2