java高级_工具类_字符串类
来源:互联网 发布:php九九乘法表表格 编辑:程序博客网 时间:2024/06/08 10:56
字符串类(十分重要)
String(字符串常量类)
利用常量池,每次赋值都会新创建空间容纳新的字符串,如果常量池中已有新字符串,则直接指向已有位置
String类是被final修饰的
String类中的value属性被final修饰的
final的含义(重要)
final修饰类
不能被继承
final修饰变量(成员属性)
常量值,一旦赋值不能被改变
final修饰方法
不能被重写
(1)char c = str.charAt(int idx)
取得str对应idx位置的字符,如果位置超出了字符串的长度或者是负数,会抛出异常
(2)s1.equals(s2)
比较s1和s2两个字符串的内容是否一致
(3)s1.equalsIgnoreCase(s2)
忽略大小写比较s1和s2两个字符串的内容是否一致
(4)s1.indexOf(s2)
取得字符串s2在字符串s1中第一次出现的位置,若s2在s1中不存在,得到-1
(5)s1.lastIndexOf(s2)
取得字符串s2在字符串s1中最后一次出现的位置,若s2在s1中不存在,得到-1
(6)isEmpty
java.lang.NullPointerException -- 空指针异常
当程序调用了值为null的对象的属性或方法时,会抛出空指针异常
判断某个字符串变量是否有值时
if(str != null && !str.isEmpty()){
//字符串中有值
}
(7)length
返回某个字符串的字符个数(长度)
(8)replace和replaceAll
替换
s2 = s1.replace("a","b"); 用b替换s1中的所有a
(9)s2[] = s1.split(",")
将s1中所有字符,以“,”为分隔符,拆分成字符串数组
计算机1 计算机2
int[] a -->
1,2,4,6,10
split(,) --> String[] --> int[]
(10)substring
s1.substring(2); //从下标2位置起,截取字符串至结尾
s1长度恰好为2,返回的是空字符串
s1的长度不足2,抛出异常
s1.substring(2,5); 截取下标[2,5)位置的字符串
[2,4]
(11)trim
去掉字符串两端的多余空格
(12)toUpperCase和toLowerCase
toUpperCase:将所有字符转换成大写字母
toLowerCase:将所有字符转换成小写字母
------------------------------------------------------------------
练习:1.在控制台上输入一个邮箱地址
2.判断邮箱的地址是否合法
(1) 地址不能为空
(2) 首字母不能是@, 尾字母不能是.
(3) 有且仅有一个@ 有且仅有一个.
(4) @必须在.之前且两者之间要有其他字符
StringBuffer(字符串变量类)
append:在字符串结尾追加新的内容
StringBuffer sb = new StringBuffer("a");
sb.append("b");
sb.append("cd");
sb.append(1);
-> "abcd1"
通过toString方法将拼接完的字符串进行输出
StringBuilder(字符串变量类)
append:在字符串结尾追加新的内容
操作方式与StringBuffer是一致的
String与StringBuffer的区别?(重要- 笔试面试)
String是字符串常量,StringBuffer是字符串变量
在做字符串拼接操作时,StringBuffer的效率要远高于String
StringBuffer与StringBuilder的区别
StringBuffer线程安全,效率比StirngBuilder低
StringBuilder线程不安全,效率比StirngBuffer高
StringBuilder的效率更高 在JDK1.5之后(含1.5)的版本才有的类
String(字符串常量类)
利用常量池,每次赋值都会新创建空间容纳新的字符串,如果常量池中已有新字符串,则直接指向已有位置
String类是被final修饰的
String类中的value属性被final修饰的
final的含义(重要)
final修饰类
不能被继承
final修饰变量(成员属性)
常量值,一旦赋值不能被改变
final修饰方法
不能被重写
(1)char c = str.charAt(int idx)
取得str对应idx位置的字符,如果位置超出了字符串的长度或者是负数,会抛出异常
(2)s1.equals(s2)
比较s1和s2两个字符串的内容是否一致
(3)s1.equalsIgnoreCase(s2)
忽略大小写比较s1和s2两个字符串的内容是否一致
(4)s1.indexOf(s2)
取得字符串s2在字符串s1中第一次出现的位置,若s2在s1中不存在,得到-1
(5)s1.lastIndexOf(s2)
取得字符串s2在字符串s1中最后一次出现的位置,若s2在s1中不存在,得到-1
(6)isEmpty
java.lang.NullPointerException -- 空指针异常
当程序调用了值为null的对象的属性或方法时,会抛出空指针异常
判断某个字符串变量是否有值时
if(str != null && !str.isEmpty()){
//字符串中有值
}
(7)length
返回某个字符串的字符个数(长度)
(8)replace和replaceAll
替换
s2 = s1.replace("a","b"); 用b替换s1中的所有a
(9)s2[] = s1.split(",")
将s1中所有字符,以“,”为分隔符,拆分成字符串数组
计算机1 计算机2
int[] a -->
1,2,4,6,10
split(,) --> String[] --> int[]
(10)substring
s1.substring(2); //从下标2位置起,截取字符串至结尾
s1长度恰好为2,返回的是空字符串
s1的长度不足2,抛出异常
s1.substring(2,5); 截取下标[2,5)位置的字符串
[2,4]
(11)trim
去掉字符串两端的多余空格
(12)toUpperCase和toLowerCase
toUpperCase:将所有字符转换成大写字母
toLowerCase:将所有字符转换成小写字母
------------------------------------------------------------------
练习:1.在控制台上输入一个邮箱地址
2.判断邮箱的地址是否合法
(1) 地址不能为空
(2) 首字母不能是@, 尾字母不能是.
(3) 有且仅有一个@ 有且仅有一个.
(4) @必须在.之前且两者之间要有其他字符
StringBuffer(字符串变量类)
append:在字符串结尾追加新的内容
StringBuffer sb = new StringBuffer("a");
sb.append("b");
sb.append("cd");
sb.append(1);
-> "abcd1"
通过toString方法将拼接完的字符串进行输出
StringBuilder(字符串变量类)
append:在字符串结尾追加新的内容
操作方式与StringBuffer是一致的
String与StringBuffer的区别?(重要- 笔试面试)
String是字符串常量,StringBuffer是字符串变量
在做字符串拼接操作时,StringBuffer的效率要远高于String
StringBuffer与StringBuilder的区别
StringBuffer线程安全,效率比StirngBuilder低
StringBuilder线程不安全,效率比StirngBuffer高
StringBuilder的效率更高 在JDK1.5之后(含1.5)的版本才有的类
0 0
- java高级_工具类_字符串类
- java高级_工具类 _Object类
- java高级_工具类_日期类
- java高级_工具类_数学类
- java第十六天_工具类Collections和Arrrays,高级for循环,可变参数,静态导入
- Java类集 _集合工具类:Collections
- Java类集 _集合工具类:Collections
- Java类集 _集合工具类:Collections
- java高级_集合
- Java工具类_随机生成任意长度的字符串【密码、验证码】
- java面向对象高级分层实例_实体类
- java面向对象高级分层实例_接口类
- java面向对象高级分层实例_数据库操作类
- Java基础_字符串
- MD5工具类s ^_^
- Java高级_网络编程
- 黑马程序员_字符串类
- 【面向对象(高级)】_包装类笔记
- 用户管理 以及授权
- Android ListView 滚动重影
- BeautifulSoup的Tag提取html内容
- vim指令收集
- Hibernate 新手教程(附加Demo源码)
- java高级_工具类_字符串类
- 21分钟 MySQL 入门教程
- Android Studio中Button等控件的Text中字符串默认大写的解决方法
- Linux 常用命令
- 指向常量的指针和指针常量
- 机器学习与R语言(一)——Ubuntu下R语言的安装以及R语言的基本语法【待续】
- IDEA:Application Server was not connected before run configuration stop, reason: Unable to ping...
- python URL 处理练习
- 使用expect进行 rsync进行服务器同步备份