String类、 StringBuffer、基本数据类型对象包装类
2016-01-04 22:44
459 查看
一、概述
Sting s1 = "abc"; //s1是一个类类型变量,"abc"是一个对象。
String s2 = new String("abc");
//s1 、 s2 的区别:
前者在内存中有一个对象,后者在内存中有两个对象。
s1.equals(s2) 为true 因为 String复写了equals方法
二、常见的功能-获取和判断
获取:
1、int length(); 获取长度
2、char chatAt(int index); 根据位置获取位置上的字符
3、 int indexOf(int ch);
int indexOf(int ch, int fromIndex);
int indexOf(String str); 返回str 在字符串中第一次出现的位置。
int indexOf(String str , int fromIndex); 从fromIndex指定位置开始,获取str在字符串中第一次出现的位置。
int lastIndexOf(int ch); 反向索取ch 在字符串中第一个次出项的位置。
判断:
1、字符串中是否包含某一个子串 : boolean contains(str);
特殊之处: indexOf(str) : 可以索引str 第一个次出现的位置,如果返回 -1。表示该str不在字符串中存在;所以,也可以用于对指定判断是否包含。
if(str.indexOf("aa")!=1)
而且该方法既可以判断,又可以获取出现的位置。
2、字符中是否有内容 : boolean isEmpoty(str);
3、字符串是否是以指定内容开头的 : boolean startsWith(str);
4、字符串是否是以指定内容结尾 : boolean endsWith(str);
5、判断字符串的内容是否相同 : boolean equals(str);
6、判断内容是否相同,并忽略大小写 : boolean equalsIgnoreCase();
转换:
1、将字符数组转换成字符串
String(char[])
String(char[] , offset, count );
或者
static String copyValueOf(char[]);
static String copyValueOf(char[] data, int offset , int count);
static String valueOf(char[]);
**2、将字符串转换为字符数组
char[] toCharArray();
3、将字节数组转换成字符串
String(byte[])
String(byte[] , offset, count ); 将字节数组中的一部分(offset 到 count)
4、将字符串转换成字节数组
byte[] getBytes();
5、将基本数据类型转换成字符串
static String valueOf(int)
static String valueOf(double)
//3+""; //string.valueOf(3);
特殊: 字符串和字节数组在转换过程中,是可以指定编码表的。
替换: String replace(oldchar , newchar);
切割: String[] split(regex);
子串,获取字符串中的一部分 :
String substring(begin); 从此位置开始到结尾
String substring(begin , end); 包头不包尾
转换 、 去除空格、 比较
将字符串转换为大写或者小写 :
String toUpperCase();
String toLowerCase();
去除空格 : string trim();
对两个字符串进行自然顺序的比较
int compareTo(string);
更多可查api String类。。。。。
附加几个练习:
1、模拟一个trim方法,去除字符串两端的空格; " dfsafd dsfa "
2、将一个字符串进行反转,将字符串中指定部分进行反转,"abcdefg" ; abfedcg
3、获取一个字符串在另一个字符串中出现的次数; “abkkcdkkedkkskk”
4、获取两个字符串中最大相同的子串,第一个动作:将短的那个串进行长度一次递减的子串打印; "abcwerthelloyuiodef" 、 "cnhellobnm"
三、StringBuffer
——是一个容器
》长度是可变的;可以字节操作多个数据类型;最终会通过toString 方法变成字符串。
StringBuffer 是字符串缓冲区
C create U update R read D delete
1、存储
StringBuffer append() : 将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index , 数据) : 可以将数据插入到指定index位置。
2、删除
StringBuffer delete(start , end): 删除缓冲区中的数据,包含start ,不包含end
StringBuffer deleteCharAt(index): 删除指定位置的字符
3、获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start , int end)
4、修改
StringBuffer replace(start ,end string)
5、反转
stringBuffer reverse();
6、将缓冲区中指定数据存储到指定字符数组中。
void getChars (int srcBegin, int srcEnd , char[] dst , int dstBegin)
-----StringBuilder (JDK1.5之后出现)
StringBuffer 是线程同步;
StringBuilder 是线程不同步。
-------开发建议使用StringBuilder
升级三个因素: 提高效率、简化书写、提高安全性
四、基本数据类型对象包装类
基本数据类型转换为字符串
---基本数据类型.toString(基本数据类型值);
如: Integer.toString(34);
字符串转换成基本数据类型。
--- int a = Integer.parseInt("123");
--- double b = Double.parseDouble("123.3");
十进制转成其他进制
--- toBinaryString();
---toHexString(); --- toOctalString();
其他进制转成十进制
--- parseInt(string , radix); ------radix 你要转换的进制
----JDK1.5 新特性
Integer x = 4; //自动装箱 。 new Integer(4);
x = x /* x.intValue() */ + 2; // x+2: x 进行自动拆箱,变成了int 类型,和2进行加法运算,再将结果 进行装箱赋值给x 。
Sting s1 = "abc"; //s1是一个类类型变量,"abc"是一个对象。
String s2 = new String("abc");
//s1 、 s2 的区别:
前者在内存中有一个对象,后者在内存中有两个对象。
s1.equals(s2) 为true 因为 String复写了equals方法
二、常见的功能-获取和判断
获取:
1、int length(); 获取长度
2、char chatAt(int index); 根据位置获取位置上的字符
3、 int indexOf(int ch);
int indexOf(int ch, int fromIndex);
int indexOf(String str); 返回str 在字符串中第一次出现的位置。
int indexOf(String str , int fromIndex); 从fromIndex指定位置开始,获取str在字符串中第一次出现的位置。
int lastIndexOf(int ch); 反向索取ch 在字符串中第一个次出项的位置。
判断:
1、字符串中是否包含某一个子串 : boolean contains(str);
特殊之处: indexOf(str) : 可以索引str 第一个次出现的位置,如果返回 -1。表示该str不在字符串中存在;所以,也可以用于对指定判断是否包含。
if(str.indexOf("aa")!=1)
而且该方法既可以判断,又可以获取出现的位置。
2、字符中是否有内容 : boolean isEmpoty(str);
3、字符串是否是以指定内容开头的 : boolean startsWith(str);
4、字符串是否是以指定内容结尾 : boolean endsWith(str);
5、判断字符串的内容是否相同 : boolean equals(str);
6、判断内容是否相同,并忽略大小写 : boolean equalsIgnoreCase();
转换:
1、将字符数组转换成字符串
String(char[])
String(char[] , offset, count );
或者
static String copyValueOf(char[]);
static String copyValueOf(char[] data, int offset , int count);
static String valueOf(char[]);
**2、将字符串转换为字符数组
char[] toCharArray();
3、将字节数组转换成字符串
String(byte[])
String(byte[] , offset, count ); 将字节数组中的一部分(offset 到 count)
4、将字符串转换成字节数组
byte[] getBytes();
5、将基本数据类型转换成字符串
static String valueOf(int)
static String valueOf(double)
//3+""; //string.valueOf(3);
特殊: 字符串和字节数组在转换过程中,是可以指定编码表的。
替换: String replace(oldchar , newchar);
切割: String[] split(regex);
子串,获取字符串中的一部分 :
String substring(begin); 从此位置开始到结尾
String substring(begin , end); 包头不包尾
转换 、 去除空格、 比较
将字符串转换为大写或者小写 :
String toUpperCase();
String toLowerCase();
去除空格 : string trim();
对两个字符串进行自然顺序的比较
int compareTo(string);
更多可查api String类。。。。。
附加几个练习:
1、模拟一个trim方法,去除字符串两端的空格; " dfsafd dsfa "
2、将一个字符串进行反转,将字符串中指定部分进行反转,"abcdefg" ; abfedcg
3、获取一个字符串在另一个字符串中出现的次数; “abkkcdkkedkkskk”
4、获取两个字符串中最大相同的子串,第一个动作:将短的那个串进行长度一次递减的子串打印; "abcwerthelloyuiodef" 、 "cnhellobnm"
三、StringBuffer
——是一个容器
》长度是可变的;可以字节操作多个数据类型;最终会通过toString 方法变成字符串。
StringBuffer 是字符串缓冲区
C create U update R read D delete
1、存储
StringBuffer append() : 将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index , 数据) : 可以将数据插入到指定index位置。
2、删除
StringBuffer delete(start , end): 删除缓冲区中的数据,包含start ,不包含end
StringBuffer deleteCharAt(index): 删除指定位置的字符
3、获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start , int end)
4、修改
StringBuffer replace(start ,end string)
5、反转
stringBuffer reverse();
6、将缓冲区中指定数据存储到指定字符数组中。
void getChars (int srcBegin, int srcEnd , char[] dst , int dstBegin)
-----StringBuilder (JDK1.5之后出现)
StringBuffer 是线程同步;
StringBuilder 是线程不同步。
-------开发建议使用StringBuilder
升级三个因素: 提高效率、简化书写、提高安全性
四、基本数据类型对象包装类
基本数据类型转换为字符串
---基本数据类型.toString(基本数据类型值);
如: Integer.toString(34);
字符串转换成基本数据类型。
--- int a = Integer.parseInt("123");
--- double b = Double.parseDouble("123.3");
十进制转成其他进制
--- toBinaryString();
---toHexString(); --- toOctalString();
其他进制转成十进制
--- parseInt(string , radix); ------radix 你要转换的进制
----JDK1.5 新特性
Integer x = 4; //自动装箱 。 new Integer(4);
x = x /* x.intValue() */ + 2; // x+2: x 进行自动拆箱,变成了int 类型,和2进行加法运算,再将结果 进行装箱赋值给x 。
相关文章推荐
- 用到一个json输出不转义/和中文的方法
- javascript--Date
- jQueryEasyUi验证
- AngularJS 中的Promise --- $q服务详解
- VSS (Visual Source Safe 2005) 用法详解(转载)
- 判断JS变量是否为空
- CSS3-基于浮动的布局,响应式WEB设计,定位网页上的元素,设计打印页面的css技术
- CSS:第1课
- angularJS中的ng-if标签问题
- ajax之返回值为HTML
- 后盾网html5视频教程全集观看下载
- javascript--数组
- 【转】JSP使用上传文件,并生产高清缩略图示例
- 从var func=function 和 function func()区别谈Javascript的预解析机制
- javascript--匿名函数的用法(3种)
- fundamentals of the jQuery library
- js 实现时间倒计时和setInterval用法
- div+CSS网页制作
- 前端开发入门:包管理工具bower
- json结构