Java中的StringBuffer、StringBuilder和包装器类型
1.如何使用StringBuffer类?
答:1).StringBuffer类用于表示可以修改的字符串,称为字符串缓冲对象;
2).使用运算符的字符串将自动创建字符串缓冲对象;
例:str1 + str2的操作,实际上把str1与str2都创建成StringBuffer类对象;
2.StringBuffer类的构造方法有哪些常用的重载方式?
答:StringBuffer() 创建一个空的StringBuffer对象,默认保留16个字符的缓冲空间
StringBuffer(String str) 根据字符串str的内容创建StringBuffer对象,并默认保留16个字符的缓冲空间
StringBuffer(int capacity) 创建一个空的StringBuffer对象,缓冲空间大小由capacity指定
3.StringBuffer类有哪些常用方法?
答:*StringBuffer insert(int index, x x);
将x插入到索引为index的位置,x可以为任何类型的数据
*Int length() ;
获得当前StringBuffer对象的长度
*Void setCharAt(int index,char ch);
使用ch 指定的新值替换index指定的位置上的字符
*String toString();
转换为字符串形式
*StringBuffer reverse();
将当前StringBuffer对象中的字符序列倒置
*StringBuffer delete(int start, int end);
删除当前对象中从start位置开始直到end指定的索引位置的字符序列
*StringBuffer deleteCharAt(int index);
将删除index指定的索引处的字符
*StringBuffer replace(int start, int end, String str);
此方法使用一组字符替换另一组字符。将用替换字符串从start指定的位置开始替换,直到end指定的位置结束
4.String类和StringBuffer类有什么区别?
答:1).在Java中一旦创建了字符串就不能直接更改,这就是字符String的不变性;
2)而StringBuffer类正是针对此问题而提供的字符可变序列;
3).StringBuffer与String是同等的类,唯一区别是可以进行更改;
5.什么是StringBuilder?
答:1).JDK 1.5以后,提供了一个新的字符缓冲区:StringBuilder;
2).提供和StringBuffer相似的API;
3).非线程安全
6.StringBuffer和StringBuilder有什么区别?
答:
StringBuffer |
StringBuilder |
|
线程是否安全 |
安全 |
不安全 |
效率 |
相对低 |
相对高 |
7.如何使用包装器类(Wrapper类)?
答:1).使用基本数据类型声明的变量,如:
int num = 10;
这里的num只是一个变量,而不是对象;
2).在某些必须操作对象的场合,这样的变量就不能使用了;
3).Java提供一系列包装类,以便将基本数据类型当作对象进行操作;
4).在java.lang包中,对于每个基本数据类型都有一个相应的包装类。
8.每个基本数据类型对应的包装器类是什么?
答:
基本数据类型 |
包装类 |
boolean(布尔型) |
Boolean |
byte(字节型) |
Byte |
char(字符型) |
Character |
short(短整型) |
Short |
int(整形) |
Integer |
long(长整型) |
Long |
Float(浮点型) |
Float |
double(双精度浮点型) |
Double |
9.如何使用valueOf方法?举例说明
答:每个包装类都有一个静态的valueOf方法,用于将字符串转换成相应包装类的对象。
public class LangDemo{
public static void main(String[] args){
String str = “120”;
//如果转换失败,将会引发NumberFormatException异常
Byte objByte = Byte.valueOf(str);
Short objShort = Short.valueOf(str);
Integer objInt = Integer.valueOf(str);
Long objLong = Long.valueOf(str);
System.out.println(objByte);
System.out.println(objShort);
System.out.println(objInt);
System.out.println(objLong);
}
}
10.什么是包装类的parseXxx方法?有哪些注意事项?举例说明
答:除了Boolean类和Character类以外,其它的包装类都有静态的parseXxx方法(Xxx指代具体的数据类型),用于将字符串转换成相对应的基本数据类型值。
Public class ParseTest{
public static void main(String[] args){
String str = “116”;
//分别调用各个包装器类的paseXxx方法对字符串进行转换,如果转换失败,将报异常
int i = Integer.paeseInt(str);
short s = Short.parseShort(str);
byte b = Byte.parseShort(str);
long l = Long.parseLong(str);
float f = Float.parseFloat(str);
double d = Double.parseDouble(str);
System.out.println(i);
System.out.println(s);
System.out.println(b);
System.out.println(l);
System.out.println(f);
System.out.println(d);
}
}
11.Character类中有哪些常用方法?举例说明
答:
方法原型 |
说明 |
boolean isLetter(char ch) |
判断字符ch是否为英文字母 |
boolean isDigit(char ch) |
判断字符ch是否为0---9之间的数字 |
boolean isUpperCase(char ch) |
判断字符ch是否为大写形式 |
Boolean isLowerCase(char ch) |
判断字符ch是否为小写形式 |
boolean isWhitespace(char ch) |
判断字符ch是否为空格或换行符 |
注意:以上方法都是静态方法,可以直接通过类名调用,返回值均为boolean类型,如果返回true,否则返回false。
例:
Public class CharacterDemo{
Public static void main(String[] args){
char[] charArray = {‘*’, ‘7’, ‘b’, ‘’, ‘A’};
for(int I = 0;i < charArray.length;i++){
if(Character.isDigit(charArray[i])){
System.out.println(charArray[i]) + “是一个数字。”);
}
if(Character.isLetter(charArray[i])){
System.out.println(charArray[i]) + “是一个字母。”);
}
if(Character.isWhitespace(charArray[i])){
System.out.println(charArray[i]) + “是一个空格。”);
}
if(Character.isLowerCase(charArray[i])){
System.out.println(charArray[i]) + “是小写形式。”);
}
if(Character.isUpperCase(charArray[i])){
System.out.println(charArray[i]) + “是大写形式。”);
}
}
}
}
12.什么是包装类的拆装箱?举例说明
答:JDK5.0以后提供了自动封解箱的操作
Public static void main(String[] args){
int x = 1;
Integer y = x;
y++; //装箱
System.out.println(“y=” +y+ “z=” +z);
}
转载于:https://www.cnblogs.com/Chenglei789/p/7589371.html
Java中的StringBuffer、StringBuilder和包装器类型相关推荐
- 【翻译】Java中String, StringBuffer, StringBuilder的区别
2019独角兽企业重金招聘Python工程师标准>>> String 是 Java 中最重要的类之一,并且任何刚开始做Java编程的人,都会 用String定义一些内容,然后通过著 ...
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- Java中String,StringBuffer,StringBuilder的区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 运行速度 StringBuilder > StringBuffe ...
- Java中的流Stream和读取器Reader及其之间的关系
Java中的流Stream和读取器Reader及其之间的关系 简介 InputStreamReader与BufferedReader是共享字节流的关系 简介 字节流(InputStream ):Inp ...
- java中小数后加f_在 Java 中,小数默认为 ,如果要指定 类型请在小数后加 F/f 。_学小易找答案...
[填空题]Java 语言采用双字节的 编码. [单选题]马斯洛需要层次论所提出的5种需要:生理需要.安全需要.归属需要.( ).自我实现需要 [填空题]String s= " abc &qu ...
- 43、在java中一个类被声明为final类型,表示了什么意思?
43.在java中一个类被声明为final类型,表示了什么意思? 表示该类不能被继承,是顶级类. JAVA面试问题及答案大全
- 2.Java中String,StringBuilder以及StringBuffer的关系与区别
String StringBuffer StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...
- 探秘Java中String、StringBuilder以及StringBuffer
相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它 ...
- 【Java】Java中String、StringBuilder、StringBuffer三者的区别
这三个类之间的区别主要是在两个方面(运行速度和线程安全)这两方面. 1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为: StringBuilder >StringBuffer & ...
最新文章
- Java单例模式个人总结(实例变量和类变量)
- C++中map的用法
- ios多线程 -- NSOperation 简介
- 淘宝JavaScript 编码风格规范
- mysql limit 1 10000_Mysql面试题,优化:SELECT * FROM user LIMIT 10000,1.
- javascript学习心得(1)replace
- python实验报告六_Python 基础语法
- 单片机中断实验 EX0
- 5. 倒车入库+侧方位停车(仿真)
- anaconda python更换清华源
- 医疗管理系统软件 linux系统,MyPatients 4.0.2 发布,医疗信息管理系统
- python 迷宫边界_用Python绘制迷宫般的线条?
- GitHub 热点速览 Vol.14:周获 2k+ Vim³ 掀起三维编程风
- 负载均衡技术之负载均衡器简介
- matlab, 生成一个数值一样的n维列向量
- 在visual studio2019中编写Qt5.14版本的程序 BV1g4411H78N
- html输入QQ自动获取QQ头像,QQ号头像名称信息自动获取插件[WordPress] | 贝贝吧
- C语言结构体运用实例
- mac xquartz+iterm2
- Android逆向之旅---破解某支付软件防Xposed等框架Hook功能检测机制