Java基础——字符串类String
来源:互联网 发布:华师大二附中 知乎 编辑:程序博客网 时间:2024/06/06 05:32
字符串是由字符构成的一个序列。在很多语言中,字符串都被当作字符数组来处理,但是在Java中,字符串是一个对象。String类中有11个构造方法以及40多个处理字符串的方法。所以String类不仅在程序设计中非常有用,也是一个学习类和对象的很好的例子。
构造一个字符串:
String 字符串名称 = new String(字符串的内容);Java将字符串“直接量(指的是:字符串的内容)“ 看作String对象。所以,下面的语句也是合法的:
String 字符串的名称 = “字符串的内容”;还可以用字符数组创建一个字符串。例如: 下面创建一个字符 串“Java”
char[] 字符串名称 = {字符串的内容}; 这里是{’j’,’a’,’v’,’a’}(p.s:我总是将String和char两个类型搞混,char类其实是字符类型)
我们通过构造字符串这个例子了解其中的差别:
String message = new String("Java");char[] message = {'j','a','v','a'};
字符串的比较
说到字符串的比较,相信刚开始学习Java的我们都会最先尝试”==“这个操作符。事实上,这个操作符只能检测两个字符串是否指向同一个对象,但是并不会告诉你他的对象是否相同。此时我们需要尝试下equals方法。这个就是我们所需要的方法。这个方法返回的是布尔型变量”true”和”false”。
还有一个compareTo方法,这个方法也具备equals的功能:判断两个字符串是否相等,但是该方法返回值是0;若两个字符串不相等,如s1为“abc”,s2为“abg”, s1.compareTo(s2)返回的是-4,这个-4是根据字符在同一码的顺序相减得出来的。
String类中还有其他的比较字符串的方法。如:忽略大小写、是否有某些特定的前缀等等。这些就需要大家查下资料,不一一列出了。
字符串的长度、字符以及组合字符串
获取字符串的长度:s1.length();
p.s:获取数组a的元素个数时就要使用a.length
获取单个字符:
s1.charAt();
当然,下标也是从0开始的。下面的例子也是允许的:
"welcome".charAt(0)//这个的返回值就是"w";
我们在使用一个字符串是往往是知道它的直接量值的,为了方便起见,Java允许在不创建变量的情况下,使用字符串的直接量应用字符串。
下面是连接两个字符串:
String s3 = s1.concat(s2);String s3 = s1 + s2;//这两个方法是等价的。
如果一个是数字,一个是字符串,用’+’连接时则先将数字转化为字符后相连。注意:若要使用加号实现连接的功能,则至少要有一个操作数必须为字符串。
- 获取子串
substring(开始的下标);//返回这个字符串中从指定的下标开始到字符串末尾的子串;substring(开始的下标,结束的下标);//返回这个字符串从开始小标到结束下标的子串。要注意的是:结束下标处的字符不是子串的一部分!String message = "Welcome to Java".substring(0,11) + "HTML";//这个message的内容变为"Welcome to HTML"//如果开始的下标和结束的下标相同的话,返回的会是一个长度为0的空字符串。如果 开始下标“小于”结束下标则会出现运行错误。
- 获取字符串中的某个字符或者某个子串
indexof(ch: char):int 返回字符串中第一次出现ch字符的下标,如果不匹配返回-1;indexof(ch: char,fromIndex: int):int 返回字符串中fromIndex下标后第一次出现ch字符的下标,如果不匹配返回-1;indexof(s:String):int 返回字符串中第一次出现s字符串的下标,如果不匹配返回-1;indexof(s:String,fromIndex: int):int 返回字符串中fromIndex下标后第一次出现s字符串的下标,如果不匹配返回-1;lastIndexof(ch: char):int 返回字符串中最后一次出现ch字符的下标,如果不匹配返回-1;lastIndexof(ch: char,fromIndex: int):int 返回字符串中fromIndex下标后最后一次出现ch字符的下标,如果不匹配返回-1;lastIndexof(s:String):int 返回字符串中最后一次出现s字符串的下标,如果不匹配返回-1;lastIndexof(s:String,fromIndex: int):int int 返回字符串中fromIndex下标后最后一次出现s字符串的下标,如果不匹配返回-1;
- 字符串的转换、替换与分割
toLowerCase():String 返回将所有字符都转化为小写之后的新字符串;toUpperCase():String 返回将所有字符都转化为大写之后的新字符串;trim():String 返回去掉两端的空白字符之后的新字符串;replace(旧字符,新字符):String 返回一个新字符替换这个字符串中所有和他匹配的字符的新字符串;replaceFirst(旧字符串,新字符串):String 这个只会将第一个与之匹配的字符串替换,然后返回之后的新字符串;replaceAll(旧字符串,新字符串):String 这个将所有的旧的子串替换为新子串然后返回之后的新字符串;split(String类型界定符):String 返回界定符分割的字符串所构成的一个字符串数组,注意:这个是字符串数组。分割的这个方法很有意思,大家可以去实践下。
字符串与数组之间的转换
字符串不是数组,但是字符串可以转换为数组,反之亦然。为了将字符串转换为一个字符数组,可以使用toCharArray方法,而将数字转换为字符串可以使用valueOf方法,例如:
char[] array = "Java".toCharArray();//字符串转换为字符数组;String str = new String (new char[]{'J','a','v','a'});//用字符数组构造一个字符串;String str = String.valueOf(new char[]{'J','a','v','a'});//用valueOf方法将字符数组转换为字符串;
将字符和数值转换成字符串
使用静态的valueOf方法能够将字符数组转化为字符串。可以使用valueOf方法的几个重载版本将字符和数值转换为字符串,这些重载方法的参数类型可以为char , double , long , int 和 float类型。
String str = String.valueOf(5.44);//返回值是由字符'5','.','4','4'组成的字符串;//其它类型的参数也是同样的使用方法。
- Java基础——字符串类String
- Java基础-数组——String字符串
- Java语言基础——字符串String
- java基础-字符串String
- Java基础(极客)——14、Java String字符串详解
- Java基础—String类
- Java基础—String类
- 黑马程序员——Java基础-> String字符串
- java基础之String类查找字符串
- 黑马程序员——Java基础_字符串String、对象包装类
- 黑马程序员—java基础学习--String字符串类,基本数据类型包装类
- Java基础:字符串之String
- JAVA——字符串String
- Java — String(字符串)
- JAVA基础——String类
- java基础——String类
- 【Java基础】Java字符串常用操作(String类)
- Java基础——String
- 博为峰Java技术文章 ——JavaSE Swing使用数组方式创建列表框
- 设计模式笔记三:单例模式
- 目标检测方法系列:R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD
- 杭电 2019
- Python调用Windows CMD命令删除文件异常分析与解决
- Java基础——字符串类String
- 面试总结
- Android组件之Toolbar的基本使用
- 第七章 注解式控制器的数据验证、类型转换及格式化-- SpringMVC数据格式化
- 九度OJ-1456:胜利大逃亡
- JVMMemory
- Android studio 之 打包 model 成 jar (xutils 数据库升级版本校验问题)
- 第七章 注解式控制器的数据验证、类型转换及格式化--SpringMVC数据验证
- 别名机制