黑马程序员_<<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个属性:轮子数 ...
随机推荐
- xsqlbuilder使用说明
动态构造sql的利器:rapid-xsqlbuider详细说明 特性列表: 动态构造sql条件语句,提供sql拼接与使用占位符两种方式 数据类型的修饰 对SQL注入攻击的防范 问题: 手工构造SQL语 ...
- Extjs Store 的用法详解
Ext.data.Store的基本用法 在使用之前,首先要创建一个Ext.data.Store的实例,如下面的代码所示. 每个store最少需要两个组件的支持,分别是proxy和reade ...
- mysql函数操作(6)
<?php try{ $dbh = new PDO('mysql:dbname=testdb;host=localhost', 'mysql_user', 'mysql_pwd'); }catc ...
- Yaf-Plus 我们只谈框架这件事
预热下,也算对自己的督促. Comming soon!
- centos之jdk安装
1.环境说明 系统:centos6.7, 2.6.32-573.el6.x86_64; jdk:jdk1.7.0_80 2.下载jdk并上传 下载jdk-7u80-linux-x64.tar ...
- 在VHDL中,“传输延迟”和“惯性延迟”
传输延迟就是最容易理解的从输入变化到输出变化之间的延迟.对应语法是transport例如 b <= transport a after 20ns 惯性延迟考虑了电容效应,即如果输入是(相对)窄的 ...
- 数据仓库(七):Oracle Warehouse Builder(OWB)创建数据仓库
本文简述使用OWB创建数据仓库的一般过程.Oracle的OWB是目前最好的三大ETL产品之一.OWB不但可以可以完成数据的抽取.转换和加 载,还能帮助用户在Oracle数据库中创建ROLAP(Rela ...
- Oracle EBS-SQL (BOM-1):检查供应类型错误.sql
--检查供应类型错误 SELECT MSI.SEGMENT1 物料编码, MSI.DESCRIPTION 物料描述, DECODE(MSI.WIP ...
- Oracle EBS-SQL (INV-1):库存货位列表.sql
select inventory_location_id, organization_id, description, subinventory_code, segment1 inventory_lo ...
- linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客
linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++ http://yaro ...