String StringBuilder 包装类
1. String
概述
程序中直接写上双引号的字符串就在字符串常量池中,new的不在池当中
java6之前常量池在方法区,java7以后将字符串常量池放在堆中
因为字符串是对象,应该在堆中
相同的字符串在常量池中只有一份
字符串内容用不可变,可以共享
字符串效果上是char [ ],但底层是byte [ ]字节数组
创建字符串的常见方式 3 + 1
new String( );
new String(char [ ]);
new String(byte [ ]);
String str = “Hello”;
字符串的比较
boolean equals (Object obj) 比较字符串内容(参数可以是任意对象)
boolean equalsIgnoreCass(String str) 忽略大小写的比较
字符串的获取相关
int length( ) 拿到字符串长度
String concat (String str) 拼接当前字符串和参数字符串并返回新的字符串
char charAt (int index) 获取指定索引位置的单个字符串
int indexOf (String str) 查找参数字符串在本字符串中首次出现的位置,没有返回-1
除了length方法其他的用的比较少
字符串的截取
String substring(int index) 截取从参数位置一直到字符串末尾
String substring(int begin, int end) 截取从begin开始到end结束 [begin,end) 不包含end
字符串的分割
public String[ ] split (String regex)
按照参数规则分割字符串,返回字符串数组
(如果按英文句点切分必须写\\. )
字符串的转数组
public char[ ] toCharArray( ) 将当前字符串拆分成字符数组并返回
public byte[ ] getBytes( ) 获得当前字符串底层的字节数组
public String replace(CharSequence oldString, CharSequence newString) 替换并返回新字符串
2. StringBuilder
概述
java. lang. StringBuilder 又称为可变字符序列,它是一个类似于String的字符串缓冲区,通过某些方法调用可 以改变该序列的长度和内容,StringBuilder内部拥有一个数组用来存放字符串内容,进行字符串拼接时, 直 接在数组中加入新内容,StringBuilder会自动维护数组的扩容,默认空间16个字符
构造方法
StringBuilder ( ) 构造一个空的StringBuilde容器
StringBuilder (String str) 构造一个StringBuilder容器,并将字符串添加进去
常用方法
StringBuilder append(...) 添加任意类型数据的字符串形式,并返回当前对象自身(this)链式编程
StringBuilder reverse( ) 将给定StringBuilder反转(返回自己)
String toString( ) 将当前StringBuilder对象转换为String对象
String和StringBuilder的相互转化
String --> StringBuilder 通过StringBuilder的构造方法
StringBuilder --> String 通过StringBuilder的toString方法
+ “” 加空字符串
3. 包装类
概述
Java提供了基本类型与引用类型这两个类型系统,基本类型效率高,然而有时需要创建对象使用,因为对象可 以做更多的功能,这时可以使用基本类型对应的包装类,让我们可以像操作对象一样操作基本类型
装箱与装箱
装箱:从基本类型转换为对应的包装类对象
Integer a = new Integer(4); 构造方法
Integer b = Integer.valueOf(4); 成员方法
拆箱:从包装类对象转换为对应的基本类型
Int num = a.intValue( );
自动装箱与自动拆箱
Java 5开始基本类型与包装类的装箱和拆箱动作可以自动完成
Integer i = 4; 自动装箱 相当于Integer i = Integer. valueOf(4);
i = i + 5; 将i对象转成基本数值(自动拆箱),加完后再次装箱,把基本数值转成对象
基本类型 --> 字符串
1.基本类型 + ““ (最常用)
2.包装类.toString(基本类型数据)
3.String.valueOf(基本类型数据)
字符串 --> 基本类型(解析)
Integer.parseInt(String s)
Double.parseDouble(String s)
注意: String类型不能转换为char类型
String StringBuilder 包装类的更多相关文章
- String和包装类Integer\Double\Long\Float\Character 都是final类型
String和包装类Integer\Double\Long\Float\Character\Boolean 都是final类型 不可以改变
- 深入源码剖析String,StringBuilder,StringBuffer
[String,StringBuffer,StringBulider] 深入源码剖析String,StringBuilder,StringBuffer [作者:高瑞林] [博客地址]http://ww ...
- String, StringBuilder, StringBuffer问题
1. 区别 String为字符串常量,而StringBuilder和StringBuffer都是字符串变量,其中StringBuilder线程非安全,StringBuffer线程安全. 每次对 Str ...
- String StringBuilder StringBuffer区别
String StringBuilder StringBuffer String类是final类,不可以被继承,且它的成员方法也是final方法,当一个字符串对象进行操作操作时,任何的改变不会影响到这 ...
- difference among String,StringBuilder,StringBuffer
difference among String,StringBuilder,StringBuffer String常用构造函数 String(byte[] bytes) String(byte[] b ...
- java中String、包装类、枚举类的引用传递
一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递: 但是:String.包装类.枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递! 首先,对象肯定 ...
- int和Integer,String和String(包装类)
1.int和Integer的值如果是一样的,则是在内存中开辟相同的内存空间 2.但是String和String(包装类)是不一样的 代码演示: int a=1; Integer b = new Int ...
- 谈String,StringBuilder,StringBuffer随笔
一.谈谈三者在实现上的区别. (1)先看String 方法,实现了Serializable, Comparable, CharSequence三个接口 package java.lang; imp ...
- String,StringBuilder性能对照
import java.util.Date; import java.util.UUID; /** * 測试String,StringBuilder性能,推断什么时候改用String,什么时候该用S ...
随机推荐
- ADB抓取内存命令
1. 在IDE中查看Log信息当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:D/dalvikvm: <GC_Reason> <Amount_freed>, < ...
- New York is 3 hours ahead of California
New York is 3 hours ahead of California, 纽约时间比加州时间早三个小时, but it does not make California slow. 但加州时间 ...
- nodeJs 控制台打印中文显示为Unicode解决方案
在使用 NodeJs 采集其他网站网页时遇到的,在获取源代码后发现里面原来的中文被转成了 Unicode(UTF8) 编码的中文(如:&# [xxx]),这当然不是真正想要的中文实体 解决方案 ...
- pytorch安装 caffe2 安装:git 慢 caffe2 cannot find -lopencv_dep_cudart ,undefined reference to 'pthread_create'
最开始的问题: caffe2目前已经不维护了.怎么编译都报错,并且有third_party的代码链接已经飞了.下载不全代码了.建议 不要再折腾了,直接安装Pytorch. 首先,基本环境是ubuntu ...
- Base64图片转Blob对象
//将Base64图片转成Blob对象 //@args: base64Url:编码字符串,contentType:类型. function base64UrltoBlob(base64Url, con ...
- linux系统下常用的命令(吐血自己整理,且用且珍惜)
1)linux命令太多,有时候记不起来是哪个,为了方便大家查询,自己吐血整理了以下这些,转载时请标明出处,珍惜原创成果 吐血自己整理,且用且珍惜) 吐血自己整理,且用且珍惜) 吐血自己整理,且用且珍惜 ...
- Shopt命令(删除排除)
有时候我们需要反选某个文件以外的其他文件,就会用到rm -rf!(file)命令,但是有时候这条命令会报错显示 -bash: !: event not found 解决办法:shopt -s extg ...
- php解决高并发问题
我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键.举个例子,我们假设处理一个业务请求平均响应时间为10 ...
- python拼接字符串方法汇总
python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...
- layui表格点击排序按钮后,表格绑定事件失效解决方法
最近项目使用layui较为频繁,遇到了一个麻烦的问题,网上搜索也没有看到同类型的问题,故此记下来. 需求是点击上图右侧表格中某一个单元格,会触发点击事件如下代码: $("table>t ...