Java之字符串常用操作
来源:互联网 发布:php读取txt文件前 编辑:程序博客网 时间:2024/05/23 01:58
字符串的创建
方式1
String str = "abc";
方式2
String str = new String("abc");
- 值为null的字符串与空字符串的区别
字符串的连接
String str = str1+str2;
String str = str1.concat(str2);
获取字符串信息
求字符串长度
int len = str.length();
字符串的比较
- boolean bool = 字符串.equals(对比字符串)
- boolean bool = 字符串.equalsIgnoreCase(对比字符串)
- boolean bool = 字符串1 == 字符串2
区别:equals和equalsIgnoreCase仅比较字符串内容,不比较地址,其中equalsIgnoreCase为不区分大小写地比较内容;而“==”不仅比较内容,还比较地址是否相同,如下图所示
创建字符串
字符串在内存中的存储情况
进行比较
输出结果
字符串的查找
其中常用的为 charAt(int index)
indexOf(String str)
indexOf(String str,int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str,int fromIndex)
取得子串与判断字符串开头结尾
取得子串
//从下标fromIndex开始取子串
String substr = str.substring(int fromIndex);
//从下标fromIndex开始,到endIndex的前一个字符为止的子串
String substr = str.substring(int fromIndex,int endIndex);
判断开头结尾
//判断str是否以prestr开头
boolean bool = str.startsWith(String prestr);
//判断str从index位置开始的部分是否以prestr开头
boolean bool = str.startsWith(String prestr,int index);
//判断str是否以laststr结尾
boolean bool = str.endsWith(String laststr);
字符串的操作
分割字符串
//根据splitstr对str进行分割,分割后的结果放入字符串数组strArray String[] strArray = str.split(String splitstr);
例1:如下图 str = "Split_this_string";
splitstr = "_";
例2:
str = "split_this___string";String[] strArray = str.split("_");
则应有strArray = {"split","this","","","string"};
这是因为两个连着的”_”之间没有字符串,故它们之间分割出的结果为长度为0 的字符串”“
大小写转换
String upperstr = str.toUpperCase();
String lowerstr = str.toLowerCase();
删除两端空白字符
String newstr = str.trim();
字符串的替换
//将str中的字符oldchar全部替换成newchar String str1 = str.replace(char oldchar,char newchar);
//将str中的字符串oldstr全部替换成newstr String str2 = str.replace(String oldstr,String newstr);
//将str中的字符串oldstr全部替换成newstr,实现功能与replace一样 String str3 = str.replaceAll(String oldstr,String newstr);
//将str中的第一次出现字符串oldstr替换成newstr String str4 = str.replaceFirst(String oldstr,String newstr);
字符串与对象及基本类型变量的转换
对象及基本类型变量转换为字符串
对象转换为字符串
String str = obj.toString();
说明:所有的对象都有toString()的方法来转换为字符串,输出的是对象的名字或所表示的值,但基本型变量没有toString()方法基本型变量转换为字符串,如
String str = String.valueOf(int i);
String str = String.valueOf(float f);
String str = String.valueOf(double d);
String str = String.valueOf(boolean b);
说明:注意valueOf是属于String这个类的静态方法
字符串转换为基本类型变量及所对应的对象
字符串转换为Integer/Short/Long/Float/Double/Boolean/Byte/Character等基本类型变量对应的对象类型,以Integer举例,其他类似
Integer int = Integer.valueOf(String str);
字符串转换为int/short/long/float/double/boolean/byte/char等基本类型变量
- 直接转换,借助基本类型所对应的对象的方法,以int为例
int i = Integer.parseInt(String str);
其中比较特别的是char ch = String.charAt(int index);
间接转换,即先转换为基本变量所属的对象类型,再自动解包
注:自动打包为基本类型变量向所属对象类型的自动转化,自动解包为对象向所对应的基本类型变量自动转换,为自动打包的逆过程。- 总结
- 总结
- 直接转换,借助基本类型所对应的对象的方法,以int为例
格式化字符串
String str = String.format(格式字符串,参数列表);
字符串与字符数组
字符串完全转换为字符数组
char[] chArray = str.toCharArray();
字符串部分转换为字符数组
getChars(起始索引位置,结束索引位置,字符数组名,数组起始下标);
举例:
char[] chArray = new char[20];str = "String is NOT array";str.getChars(3,12,chArray,5);
StringBuffer和StringBuilder类
由于String类型为final,内容无法修改,创建之后就固定了,所以String方法中即使有修改的操作也是创建了一个新的字符串,而StringBuffer和StringBuilder类可以修改字符串。区别:
StringBuffer可以用于单线程和多线程的字符操作;
StringBuilder只能用于单线程的字符操作。
StringBuilder与StringBuffer方法类似,下面仅以StringBuffer为例。
创建
StringBuffer strbuff = new StringBuffer();
StringBuffer strbuff = new StringBuffer(String str);
和String类中一样的方法有:
StringBuffer具备而String不具备的方法有:
——整理自《入门Java很简单》
- Java之字符串常用操作
- java 字符串常用操作
- Java 字符串常用操作
- Java 字符串常用操作
- Java 字符串常用操作
- Java字符串常用操作
- JAVA常用的字符串操作
- JAVA字符串操作常用方法
- 常用java字符串操作函数
- java字符串操作常用函数
- java 字符串常用操作小结
- Java常用的字符串操作
- Java常用API----字符串操作
- JAVA之字符串操作
- [Java语言] java常用字符串操作函数
- [Java语言] java常用字符串操作函数
- 【ios 基础知识】之 常用字符串的操作
- C++之字符串常用操作类集合
- please insert the disc labeled ‘Ubuntu 7.10 _Gutsy Gibbon’” error
- sql查询所有表名和字段名称
- windows下安装mysql遇到的一些坑
- Java String方法使用
- Java的JAR包, EAR包 ,WAR包内部结构
- Java之字符串常用操作
- dubbo源码 编译 测试
- Android Studio运行后程序未自动运行
- poj2318_TOYS_叉积判断点在线段的哪一侧
- JAVA中字符串函数subString简单用法
- Elastic学习
- 使用css写弹窗
- 频道管理
- ios-字典转模型