目录

    • 1.注意点
    • 2.String类的构造方法
    • 3.String类的常用方法
  • 传送门

1.注意点

  • java中用双引号括起来的都是String对象,且字符串是不可变的
  • java中用双引号括起来的字符串都是存储在“方法区”的“字符串常量池”中。字符串在实际开发中使用频繁,所以放在其中
  • String s = “abc”; s引用中保存了字符串对象在字符串常量池中的内存地址
  • String类已经重写了toSting和equals方法
String s1 = "abcdef";
String s2 = s1+"xy";
String s3 = new String("xy");


String s1 = "hello";
String s2 = "hello";
//s1 == s2  true  双等号比较的是内存地址
String x = new String("xyz");
String y = new String("xyz");
//x == y   false 字符串对象之间的比较应该调用equals方法
String k = new String("test");
System.out.println("test".equals(k));//建议使用这种方式,避免空指针异常(null.equals("test"))
String s1 = new String("hello");
String s2 = new String("hello");
//一共创建了3个对象

2.String类的构造方法

  • String s = new String("");
  • String s = “”;
  • String s = new String(char数组);
  • String s = new String(“char数组,起始下标,长度”);
  • String s = new String(“byte数组”);
  • String s = new String(“byte数组,起始下标,长度”);
char[] chars = {"中","国","人"};
String char1 = new String(chars);//中国人
String char2 = new String(chars,0,2);//中国byte[] bytes = {97,98,99};
String byte1 = new String(bytes);//abc
String byte2 = new String(bytes,0,1);//a

3.String类的常用方法

//1.char charAt(int index)
char c = "中国人".charAt(1);//国//2.int compareTo(String anotherStrng)
int result1 = "abc".compareTo("abc");// 0
int result1 = "abc".compareTo("abe");// -1
int result1 = "bc".compareTo("ab");// 1//3.boolean contains(CharSequence s)
System.out.println("HelloWorld".contains("or"));//true
System.out.println("HelloWorld".contains("java"));//false//4.boolean endsWith(String suffix)
System.out.println("HelloWorld".endWith("orld"));//true
System.out.println("HelloWorld".endWith("java"));//false//5. boolean equals(Object anObject)
System.out.println("HelloWorld".equals("java"));//false
//comparTo 可以比较大小//6.boolean equalsIgnoreCase(String anotherString)
System.out.println("abC".equalsIgnoreCase("ABC"));//true//7.byte[] getBytes()
byte[] bytes = "abcdefg".getBytes();
for(int i =0;i<bytes.length;i++){System.out.println(bytes[i]);
}//8.int indexOf(String str)
System.out.println("HelloWorldJava".indexOf("e"));//1//9.boolean isEmpty()
String s1 = "";
String S2 = "a";
System.out.println(s1);//true
System.out.println(s2);//false//10.int length()
//判断数组长度是length属性,判断字符串长度是length()方法
System.out.println("abc".length());//3//11.String[] split(String regex)
String[] ymd = "1980-10-11".split("-");
for(int i = 0;i<ymd.length;i++){System.out.println(ymd[i]);
}//12.String replace(CharSequence target,CharSequence replacement)
String newString = "http://www.baidu.com".replace("http:","https:");
System.out.println(newString);//https://www.baidu.com//13.int lastIndexOf()
System.out.println("abcdefghijk".lastIndexOf(i));//8//14.boolean startWith(String prefox)
System.out.println("http://www.baidu.com".startWith("http"));//true//15.String substring(int beginIndex)
System.out.println("http://www.baidu.com".substing(7));//www.baidu.com//16.String substing(int beginIndex,int endIndex)
System.out.println("http://www.baidu.com".substing(7,10));//www
//起始位置包括,结束位置不包括//17.char[] toCharArray()
char[] chars = "中国人".toCharArray();
for(int i = 0;i<chars.length;i++){System.out.println(char[i]);
}//18.String toLowerCase()
System.out.println("ABCDefg".toLowerCase());//abcdefg//19.Srting toUpperCase()
System.out.println("abcdEFg".toUpperCase());//ABCDFG//20.String trim();
SYstem.out.println("    Hello   World  ".trim())//Hello   World//21.静态方法 String.valueOf(),将非字符串装换为字符串。参数为对象时,底层调用toString方法
String s1 = String.valueOf(100);
class Customer{public String toString(){return "我是VIP客户";}
}String s1 = String.valueOf(new Customer());
System.out.println(s1);//我是VIP客户
//本质上,System.println()方法输出任何数时,都是先转换为字符串String.ValueOf()再输出。
//输出一个引用时,ValueOf()先执行toSting()方法

传送门

上一章:JavaSE进阶 第六章 数组
下一章:JavaSE进阶 第七章 常用类 (二) StringBuffer与StringBuilder

JavaSE进阶 第七章 常用类 (一) String相关推荐

  1. JavaSE_第十一章:常用类

    JavaSE学习历程 第一章:Java初识 第二章:Java语言基础 第三章:选择结构与分支结构 第四章:循环结构 第五章:方法/函数 第六章:数组 第七章:面向对象 第八章:三大特性 第九章:三个修 ...

  2. JavaSE 进阶 - 第23章 IO流

    JavaSE 进阶 - 第23章 IO流 1.IO流,什么是IO? 2.IO流的分类 3.流应该怎样学习? 4.java IO流的四大家族 5.java.io包下需要掌握的16个流 5.1 FileI ...

  3. java学习笔记(13) 第13章 - 常用类

    第13 章常用类-目录 13.1 包装类 13.1.1 包装类的分类.包装类和基本数据的转换.案例演示.课堂测试 13.1.2 包装类型和String 类型的相互转换 13.1.3 Integer 类 ...

  4. ppt_第七章_类人DNA与神经元基于催化算子映射编码方式.

    第七章_类人DNA与神经元基于催化算子映射编码方式. AOPM-VECS-IDUQ 十二元基建模与应用, 文件肽化方式. 1 DETA humanoid cognition 1.1DETA human ...

  5. 【JavaSE】常用类3[String类、StringBuffer、StringBuilder]

    常用类3 ①.String类 -String常用方法 -String案例演示 ②StringBuffer和StringBuilder -StringBuffer -StringBuilder -Str ...

  6. Java常用类之String类、Stringbuffer和Random类练习

    定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /*** 定义一个StringBuffe ...

  7. 常用类 (六) ----- String类与字符串

    相关文章: <常用类 (一) ----- Arrays数组工具类> <常用类 (二) ----- Math类> <常用类 (三) ----- BigDecimal和Big ...

  8. 重学JavaSE 第11章 : 常用类API、String、日期API、比较器、BigDecimal、System等

    文章目录 一.字符串相关的类 1.1.String类的概述 1.2.理解String的不可变性 1.3.String不同实例化方式的对比 1.4.String不同拼接操作的对比 1.4.1.Strin ...

  9. 【JAVASE(7)】JAVASE学习--注解及小众常用类篇

    A.注解--Annotation     一.概念:         注释:文字描述程序,给人看         注解:说明程序,给计算机看 1)从JDK5开始,Java增加对元数据的支持(MetaD ...

最新文章

  1. JDBC学习DayTwo
  2. 【Qt】qt打印文件名、函数名、行号
  3. CoverageMeter中关于“line coverage”不准确的解释
  4. 25+AI技术主题演讲及项目展示!英特尔AI全球影响力嘉年华开启,全球AI人才线上群聚
  5. 笔记本电脑键盘切换_全球首款折叠屏笔记本电脑ThinkPad X1 Fold:5G高速互联拥抱PC场景融合时代...
  6. 优化PHP程序的方法(温故知新)
  7. css3图像边框:border-image - 代码篇
  8. Error解决:hive中的数组越界异常IndexOutOfBoundsException
  9. 如何导入asl文件?ps制作知识
  10. C++子类和父类,引用类和被引用类之间的顺序关系
  11. springboot系列二、springboot项目搭建
  12. 哪所大学教php_哪所学校保研容易进?准保研生们我来教你怎么选!
  13. 令人眼前一亮的下拉式终端 Tilda Guake
  14. Flutter diff: /../Podfile.lock: No such file or directory AndroidStudio上的解决
  15. 2019数据安装勾选_勾选方式认证发票你不会?整理了最全的操作流程,快来看看吧...
  16. Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 论文阅读
  17. 读书百客:《白马篇》赏析一
  18. teensy 制作键盘 linux,kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例
  19. 深度模型压缩技术在智能座舱方案的探索与实践
  20. 真人快打11服务器维修,玩家抱怨真人快打11微交易过多 官 方:后续会补偿

热门文章

  1. 企业WiFi管理需求
  2. SushiSwap新任「主厨」对近期传闻的回应
  3. SouthernBiotech 艾美捷Fluoromount-G功能参数
  4. 【莫烦Python】机器要说话 NLP 自然语言处理教程 W2V Transformer BERT Seq2Seq GPT 笔记
  5. 开源网校系统如何搭建
  6. 〖全域运营实战白宝书 - 运营角色认知篇⑥〗- 不同企业的 “运营“ 不一样
  7. 如何实现一个精简版的redux-saga
  8. 模切行业选择ERP系统的方案
  9. python24小时12小时转换_Python上24小时时间转换为12小时制(ProblemSetQuestion)
  10. jdbc.properties 系统找不到指定路径问题