黑马程序员_<<StringBuffer,包装类>>
--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
1. StringBuffer
1.概述
StringBuffer是一个容器,是字符串的缓冲区,线程安全序列
2.特点
长度可以变换,可以操作多种类型数组
2.增加和插入
1.在尾部插入数组,append(int a),此方法是子字符串的尾部插入的数据,有很多重载方法,此方法返回的是StringBuffer对象,还是本身对象
2.在字符串的指定位置插入数据,用insert(int a),此方法也有很多重载的方法,此方法返回的是StringBuffer对象,还是本身对象
3.StringBuffer bu=new StringBuffer(“abc”);
bu.insert(bu.length,”def”);和bu.append(“def”);是一样的。
public class StringBufferDemo {
public static void main(String [] agrs){
StringBuffer bu=new StringBuffer();
bu.append("abc").append(123).append(true);//在尾部连续添加
System.out.println("bu="+bu);
bu.insert(3, "xx");//在3的位置插入"xx",就是在"abc"后面
System.out.println("bu="+bu);
}
}
结果:
bu=abc123true
bu=abcxx123true
3. 一般操作
1.获取subString();
public void getChars(int srcBegin,int srcEnd,char[] dst,
int dstBegin)将字符串指定范围的字符串方法指定字节数组的范围内。
2替换replay()
3.删除 delete(start,end) deleteCharAt(int index)
public class StringBufferDemo {
public static void main(String [] agrs){
StringBuffer bu=new StringBuffer();
bu.append("abc").append(123).append(true);//在尾部连续添加
System.out.println("bu="+bu);
char []cs=new char[5];
bu.getChars(0, 4, cs, 1);//将bu中充0~4,包含0不包含4的字符方法字节数组中从1开始存放
for(char c:cs)
System.out.print(c+" ");
bu.deleteCharAt(2);//将第三个字符删除
System.out.println("bu="+bu);
bu.delete(0, bu.length());//清空字符串
System.out.println("bu="+bu);
}
}
4. StringBuilder
1.5版本之后才有的。线程不同步,不安全,但是能提高效率。可变的字符序列。简化书写,提高安全性用法和StringBuffer一样,其中也会有一个差异的。
5. 包装类
1. 概述
包装类就是把基本数据类型封装成了包和对象,这样就可以使用对象来操作了。
byte-----Byte int-----Integer
short-----Shortbyte-----Byte
double-----Double float---Float
char ---Character boolean---Boolean
作用,一般就是用于数据类型和字符串之间的转换,基本数据类型转换成字符串和字符串转换成基本数据类型
public class BaoZhuang {
public static void main(String[] args) {
String s1="123";
int a=Integer.parseInt(s1);//将字符串转换成整形
String s2=a+"abc";//将整形转换成字符串
System.out.println("s1="+s1);
System.out.println("a="+a);
System.out.println("s2="+s2);
}
}
结果:
s1=123
a=123
s2=123abc
2. 进制转换
public class BaoZhuang {
public static void main(String[] args) {
System.out.println("10转换成二进制:" + Integer.toBinaryString(10));
System.out.println("10转换成八进制:" + Integer.toOctalString(10));
System.out.println("10转换成十六进制:" + Integer.toHexString(10));
System.out.println("110转换成十进制:" + Integer.parseInt("110", 2));
System.out.println("076转换成十进制:" + Integer.parseInt("076", 8));
System.out.println("3c转换成十进制:" + Integer.parseInt("3c", 16));
}
}
结果:
10转换成二进制:1010
10转换成八进制:12
10转换成十六进制:a
110转换成十进制:6
076转换成十进制:62
3c转换成十进制:60
3.整形和Integer之间的转换。
Integer in=new Integer(“123”);
Int num=in.intValue();
Int n=Integer.parseInt(“123”); 6. 装箱和拆箱 public class Text {
public static void main(String[] args) {
//JDK1.5新特性
Integer n=3;//自动装箱,n是一个对象,而3是int类型,此时3会自动转换成Integer类型,这是自动装箱
n=n+2;//x是对象,2是基本数据类型,因为对象没有加法操作,所以
//n会自动的转换成in类型,然后和2想加,会把结果x+2自动的转换成Integer(装箱) Integer x=127;
Integer x1=127;
System.out.println(x==x1);//true
System.out.println(x.equals(x1));//true
Integer y1=128;
Integer y2=128;
System.out.println(y1==y2);//false
System.out.println(y1.equals(y2));//true /*在1.5新特性中,只要是在byte类型的范围 -128~127之间,他们都存在,不会在开辟新的空间,任何数据都相等
* 超过这个范围,那么他们的地址就不相等了*/
}
}
结果:
true
true
false
true
在1.5新特性中,只要是在byte类型的范围 -128~127之间,他们都存在,不会在开辟新的空间,任何数据都相等,超过这个范围,那么他们的地址就不相等了
--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
黑马程序员_<<StringBuffer,包装类>>的更多相关文章
- 黑马程序员_<<String类>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. String类 1.概述 String ...
- 大数据-将MP3保存到数据库并读取出来《黑马程序员_超全面的JavaWeb视频教程vedio》day17
黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day17-资料源码\day17_code\day17_1\ 大数据 目 ...
- 2016年8月17日 内省(1)18_黑马程序员_使用beanUtils操纵javabean
8.内省(1):18_黑马程序员_使用beanUtils操纵javabean 1.导入两个包: 2.调用静态方法. 9.泛型 map.entrySet() :取出map集合的键值对组成一个set集合. ...
- 黑马程序员_高新技术之javaBean,注解,类加载器
----------- android培训.java培训.java学习型技术博客.期待与您交流! ---------- 第一部分 javaBean 一,由内省引出javaBean 1,内省: 内省对应 ...
- JavaWeb开发之四:servlet技术 黑马程序员_轻松掌握JavaWeb开发之四Servlet开发 方立勋老师视频教程相当的经典
总结: 记住:servlet对象在应用程序运行的过程中只创建一次,浏览器每次访问的时候,创建reponse对象 request对象,然后调用servlet的service方法,reponse对象和re ...
- 黑马程序员_ JAVA中的多线程
------- android培训.java培训.期待与您交流! ---------- 尽管线程对象的常用方法可以通过API文档来了解,但是有很多方法仅仅从API说明是无法详细了解的. 本来打算用一节 ...
- 黑马程序员_ Objective-c 面向对象笔记详解
1)类,对象,方法 类 类名: 1) 类名的第一个字母必须是大写 2) 不能有下划线 3) 多个英文单词,用驼峰标识 类的声明和实现 类的声明 @interface 类名 : NSObject { @ ...
- 黑马程序员_ Objective-c 概述及面向对象与三大特性
-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ (一).语法概述 1. oc介绍:(.m文件) 1> c语言的基础上,增加 ...
- 黑马程序员_ Objective-c 之block、protocol学习笔记
一):block学习总结 block :用来保存一段代码. 1.block 特点: 1> Block封装了一段代码,可以在任何时候执行 2> Block可以作为函数或者函数的返回值, ...
- 黑马程序员——OC语言 类和对象
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数 ...
随机推荐
- Android 如何让 app 自行处理 power key M
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- js实现表格
主要方法如下,然后今天学到了js的几个函数知识点. 1.eval()函数: 定义和用法eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法eval(string) 其 ...
- background-size使用
background-size: left center | 0% 50% | cover | contain backgound-size: left center | 0% 50%; 这个指的是背 ...
- LeakCanary,检测安卓,java内存泄漏
官方中文API地址:http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/
- php对xml的处理
$paymentResult = $ips='<Ips><GateWayRsp><head><ReferenceID></ReferenceID ...
- php curl函数实例
<?php function login(){ $url = 'http://jspatch.qq.com/offline/check?qver=6.2.0.427&hver=0& ...
- Stream与byte转换
将 Stream 转成 byte[] /// <summary> /// 将 Stream 转成 byte[] /// </summary> public byte[] Str ...
- ARM Cortex M3(V7-M架构)硬件启动程序 一
Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表 ...
- stack的应用
STL除了给我们提供了一些容器(container)以外,还给我们提供了几个容器适配器(container adapters),stack便是其中之一 看过STL源码的人都知道,stack其实是内部封 ...
- centos扩容(pv,vg,lv)
preFace: (应用场景需求分析)