【黑马程序员】String与StringBuffer(七)
来源:互联网 发布:parsley.js 怎么汉化 编辑:程序博客网 时间:2024/05/22 02:05
------------android培训、java培训、期待与您交流! ----------------
String与StringBuffer
一、String
①String s1 = “abc”与String s2 = new String(“abc”)的区别
对于String s1 = “abc”;来说,s1是一个类类型变量,“abc”是一个对象
因此二者的区别在于,s1在内存中有一个变量,s2在内存中有两个变量
注:字符串最大的特点是:一旦被初始化就不可以被改变
示例:
public class Test12 {public static void main(String[] args){//新建字符串s1String s1 = "abc";//新建字符串s2String s2 = new String("abc");//新建字符串s3String s3 = "abc";//比较s1与s2的内存地址System.out.println(s1==s2);//比较s1与s2的内容System.out.println(s1.equals(s2));//比较s1与s3的内存地址System.out.println(s1==s3);//比较s1与s3的内容System.out.println(s1.equals(s3));//比较s2与s3的内存地址System.out.println(s2==s3);//比较s2与s3的内存地址System.out.println(s2.equals(s3));}}
运行结果:
false
true
true
true
false
true
②:String常见操作
true
true
true
false
true
②:String常见操作
1>、lenght()获取字符串的长度
2>、charAt(int i)获取没位置上的字符
3>、indexOf(int ch,int fromIndex)获取从fromIndex开始第一次出现ch时的下标
4>、lastIndexOf(int ch)从后往前获取第一次ch出现时的下标
5>、contains(String str)判断字符串中是否含有str
6>、isEmpty()判断字符串是否为空
7>、startWith(String str)判断字符串是否以str开头
8>、endWith(String str)判断字符串是否以str结尾
9>、String(char[],offset,count)将字符数组从offset位置至count位置转化为字符串(另一种方式 valueOf(char[],offset,count)此为静态方法)
10>、toCharArray()将字符串转化为字符数组
11>、String(byte[],offset,count)讲字节数组转化为字符串
12>、getByte()讲字符串转化为字符数组
13>、replace(char old,char new)讲字符串中的old字符换为new字符(替换之后原字符串依旧存在)
例:
public class Test{public static void main(String[] args) {String s = "abc";String s1 = s.replace('a', 'c');System.out.println("s="+s);System.out.println("s1="+s1);}}
运行结果为:
s=abc
s1=cbc
14>、split(String str)讲原字符串从str处分开,分为多个字符串,返回值是String [](子字符串中将不包含str字符串)
15>、subString(int begin,int end)讲字符串从begin处截取至end处,新字符串中包含begin角标处的字符,不包含end角标处的字符
16>、toUpperCase()将字符串转化为大写
17>、toLowerCase()将字符串转化为小写
18>、trim()去掉字符串首位空格
19>、compareTo(String str)将原字符串与str进行自然顺序的比较
二、StringBuffer
①简介
StringBuffer是字节缓冲区,是一种容器。
②特点
1>、长度可以变化
2>、可以直接操作多种数据
3>、最终可以通过toString方法变为字符串
③常用方法
1>、append(数据)将指定数据作为参数添加到已有数据的结尾处
2>、insert(int index,数据)将制定数据添加到index的位置
3>、delete(start,end)删除缓冲区中从start到end 的数据(小技巧:delete(0,sb.lenght())清空缓冲区)
4>、deleteCharAt(int index)删除指定位置的字符
5>、charAt(int index)获取index下标处的字符
6>、indexOf(char c)获取c所在位置的下标
7>、lastIndexOf(char c)获取倒序时c所在位置的下标
8>、lenght()获取长度
9>、subString(int start,int end)截取从start到end位置的字符串
10>、replace(Int start,int end,String str)将str替换到start到end的位置上
11>、setCharAt(int index,char c)将下标为index位置的字符替换为c
12>、reverse()反转
13>、getChars(int srcBegin,int srcEnd,char[]chs,chsBegin)将字符缓冲区中的指定数据,存入从chasBegin开始的chs中
(如果指定数据的长度,chs的长度则会出现角标越界异常)
三、StringBuffer与StringBulider的区别
StringBuffer线程同步,StringBulider线程不同步,在开发中使用StringBuiilder较多,因为单线程时不用判断锁,所以效率高。
------------android培训、java培训、期待与您交流! ----------------
详细请查看:http://edu.csdn.net/heima
0 0
- 【黑马程序员】String与StringBuffer(七)
- <黑马程序员>String与StringBuffer
- 黑马程序员 String 与StringBuffer
- 黑马程序员---String与StringBuffer
- 黑马程序员_字符串String 与StringBuffer
- String与StringBuffer【转自黑马程序员】
- 黑马程序员----Java String 与 StringBuffer
- 黑马程序员——String与StringBuffer
- 黑马程序员 String StringBuffer
- 黑马程序员-------String 和StringBuffer
- 黑马程序员--String&StringBuffer&StringBuilder
- 黑马程序员-String类、StringBuffer
- 黑马程序员-String、StringBuffer、StringBuilder
- 黑马程序员------------------String和StringBuffer
- 黑马程序员-------String,StringBuffer,StringBuilder
- 黑马程序员-------String StringBuffer StringBuilder
- 黑马程序员10.String&StringBuffer
- 黑马程序员-String-StringBuffer-StringBuilder
- 面向对象基本原则
- python __init__ __new__ __call__
- ubuntu12.04 wubi安装
- IOS编程 浅析
- MySQL常见出错代码列表
- 【黑马程序员】String与StringBuffer(七)
- 2010vs引用不了using system.linq问题
- CAP理论举例及说明
- ASP.NET页面修改模板页Title、SeoKeywords、SeoDescription
- sqrt(x)
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程
- SSL VPN和IPSec VPN的区别以及部署
- MySQL隔离级别
- Web_FileInclusion学习