String类代表字符串,java程序中的所有字符串都作为此类的示例实现。字符串是常量,创建之后值不能更改,字符串缓冲区则支持可变的字符串。

1.String类实例的创建

(1)JDK1.6文档中提供了很多创建String类对象的方法,下面把常用的列举

String str = "abc"; //在缓冲池中将"abc"字符串赋值给str引用对象
String str1 = new String(); //创建一个新的空字符序列对象byte[] buffer = new byte[10];
String str2 = new String(byte)//传入字节数组创建新的字符串对象char[] char1 = new char[10];
String str3 = new String(char1); //传入字符数组创建新的字符串对象int[] int1 = new int[10];
String str4 = new String(int1);//传入整型数组创建新的字符串对象String str5 = new String("abc");StringBuffer buffer = new StringBuffer();
String str6 = new String(buffer); //传入StringBuffer对象创建新的字符串对象StringBuilder builder = new StringBuilder();
String str7 = new String(builder);//传入StringBuilder对象创建新的字符串对象

(2)String类中常用的方法:查找

int length()//返回字符串对象的长度 使用方法:str.length();这里要注意区别于数组的长度获取是:arr.length,在数组中length是作为数组的一个属性而不是一个方法
char charAt(int index)//根据传入的索引值index查找字符串中所对应的字符并返回
int indexOf(int ch)//根据传入的字符ch查找该字符在字符串中首次出现的位置(索引值)并返回
int indexOf(int ch,int fromIndex);
int indexOf(String str)//根据传入的子字符串在此字符串中首次出现的位置
int indexOf(String str,int fromIndex);
int lastIndexOf(int ch)//返回指定字符在此字符串中最后一次出现处的索引
int lastIndexOf(int ch,int fromIndex)
int lastIndexOf(String str)
int lastIndexOf(String str,int fromIndex)

(3)String类中常用的方法:获取

String substring(int beginIndex)//从指定开始的索引值处获取字符串中一部分字符串
String substring(int beginIndex,int endIndex)//从指定开始的索引值处获取字符串的一部分,不包括endIndex处的字符
String[] split(String regex) //根据传入的regex正则表达式将字符串进行切割
char[] toCharArray() //将字符串转化成字符数组
String toUpperCase() //将字符串中的小写字符转化成大写字符
String toLowerCase() //将字符串中的大写字符转化成小写字符
String replace(char oldchar,char newchar) //返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replace(String target,String replacement)//target是被替换的子字符串,replacement是替换字符串
String replaceAll(String regex,String replacment) //regex是正则表达式,将字符串中符合正则表达式部分的字符串用replacement子字符串替换
String replaceFirst(String regex,String replacement) //作用和replaceAll相同,但是replaceFirst只是替换第一个符合正则表达式的子字符串
String trim() //将字符串两端空白字符去掉
String concat(String str) //将传入的字符串str接到字符串结尾部分

(4)String类中常用的方法:判断

boolean equals(Object obj) //判断两个字符串是否相同
boolean equalsIgnoreCase(String anotherString) //判断两个字符串是否相同,忽略大小写
boolean contains(String str) //判断字符串中是否包含传入的字符串str
boolean startsWith(String str) //判断字符串是否以str开头
boolean endsWith(String str) //判断字符串是否以str结尾

(5)String类中常用的方法:比较

int compareTo(String anotherString) //比较两个字符串,按照字母在字典中的顺序进行排序
int compareToIgnoreCase(String str) //比较两个字符串,按照字母在字典中的顺序进行排序,不考虑大写字母

2StringBuffer与StringBuilder

StringBuffer是字符串缓冲区,可以存储任何基本数据类型,但是最后需要转换成字符串才能使用,转换成字符串使用toString方法

StringBuilder也是字符串缓冲区,用途和StringBuffer相似,但是StringBuffer多用于多线程条件下,因为StringBuffer可以保证线程安全,而StringBuilder多用于单线程的条件下,不能保证线程安全。

【Java就业培训教程】——String类的学习相关推荐

  1. 【Java就业培训教材】——集合的学习

    集合这部分的内容比较多也比较杂,把这几天学习的东西都总结一下,坚持写blog 上图是Java集合类的一个关系图,其中虚线表示的是接口,实线表示的是类. 我们都知道对象是用来封装数据的,当对象多了之后就 ...

  2. java就业培训教程 第一章读书笔记

    1.1  JVM和java的跨平台 java的跨平台:  java源程序经过编译->java字节码文件->由JVM执行 其实对于java的跨平台的这个特性,刚开始不是很能理解,直到有一次, ...

  3. 《张孝祥JAVA就业培训教程》书摘

    1.java虚拟机及java的跨平台原理: 图P2        java兼顾解释件与编译性语言的特点,java源文件转换成.class字节码文件的过程是编译型的,.class在操作系统上运行的过程则 ...

  4. [转载] 把数据对象转成字符串_python入门基础培训教程,Python 字符串学习

    参考链接: Python字符串| printable python入门基础培训教程中,字符串的学习即基础又非常重要,如果不能掌握好python字符串,对于以后python课程的学习,将会带来严重的错误 ...

  5. String类的学习笔记(中):介绍字符串的不可变性和字符串常量池

    本文介绍了String类字符串的不可变性和字符串常量池,主要包括 如何保证字符串不可变, 如何对字符串的修改. 为什么字符串要设置不可变, 字符串常量池的创建和了解,简单的字符串常量池图, 以及如何将 ...

  6. String类的学习

    String类的学习: String a="a"+"b"+"1"; String b="ab1"; a==b是对的,为什 ...

  7. java引入string类_Java基础教程——String类

    String类 Java程序中的所有字符串字面值(如 "abc" )都是String的实例 字符串是常量(因为 String 对象是不可变的,所以可以共享) 字符串的本质是字符数组 ...

  8. Java中String类的学习

    String类 public class StringTest3 {public static void main(String[] args) {String a = "hello nih ...

  9. 17.Java常用实用类之String类中常用的方法以及一般应用场景,final关键字

    文章目录 1.String类学习 1.1.什么是String类 1.2.String类中常用的方法 1.2.1. 构造方法 1.2.2.public int length() 1.2.3.public ...

  10. Java的知识点21——String类、StringBuffer和StringBuilder、不可变和可变字符序列使用陷阱

    String类 String 类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为"不可变对象" substring()是对字符串的截取操作,但本质是读取原 ...

最新文章

  1. OKGAN:线上训练GAN的方法
  2. 关于bin和obj文件夹。debug 和release的区别(转)
  3. 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块
  4. 浅谈Spring测试框架+junit4单元测试原理
  5. SQL SERVER “扩展属性的应用
  6. linux 配置远程日志服务器配置,配置远程日志服务器—实现日志的集中管理
  7. 遍历Panel1中所有label控件的Text
  8. 计算机网络复习-网络层
  9. matlab矩阵除法
  10. JS加入收藏夹操作代码
  11. 互联网晚报 | 12月13日 星期一 | 百度将发布元宇宙产品“希壤”;吉利发布国内首款7nm汽车芯片;腾讯云财税管家正式发布...
  12. 【PP-15】定义成本构成结构
  13. A/B 测试:数据驱动的产品优化
  14. Android 图片压缩之多种压缩方式结合使用,阿里Android开发面试解答
  15. 什么是网络安全?网络安全包括哪几个方面?
  16. 剧本翻译之メンアットワーク!4 ~ハンター達よ永遠に~猎人们的永远(序章2)...
  17. 人生是条河,深浅都要过
  18. 关于“灵魂”和“躯体”,上汽的回复其实是行业“标准答案”
  19. lisp绘制棱锥_动态绘制示坡线 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  20. [RockWell FTPC]随笔_PD更改字体大小

热门文章

  1. 【线性代数及其应用】02 -矩阵代数
  2. 未开启3389实现远程桌面
  3. 华为数通hcia认证考试题库有多少题?
  4. 自助友情链接php源码,基于ThinkPHP内核开发的友情链接交易系统平台源码_支持在线支付宝及时到账支付...
  5. 手机运行慢可以刷机吗_为什么手机卡顿,反应变慢怎么解决?一定要刷机吗?...
  6. JPack插件创建了开源项目,欢迎wow player 加入
  7. 微信小程序+java后台
  8. C语言推荐书籍从入门到进阶带你走上大牛之路
  9. 计算机excel图表y轴怎么改,excel图表横坐标轴修改?excel图表里,请问怎么设定X,Y轴...
  10. 追赶法matlab算法,追赶法matlab程序