Java学习笔记--String StringBuffer StringBuilder
String StringBuffer StringBuilder
String http://docs.oracle.com/javase/7/docs/api/
中文: http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html
String str0 = "最正常的创建方法";
System.out.println(str0); char[] c1 = new char[3];
c1[0] = 'c';
c1[1] = 'b';
c1[2] = 'a';
String str1 =new String("string1");
String str2 = new String(c1);
System.out.println(str1+ " "+ str2); //输出string1 cba /* String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成String型
* toString()是对象的方法,它可以将该对象转换成String型,转换算法根据类型实际需要而定,
* 基本上JAVA里面每个对象都会有一个toString方法。*/
//字符串转换
int i1 = 100;
String str3= Integer.toString(i1);
System.out.println("Integer.toString : "+str3);//输出Integer.toString : 100 //valueOf()进行数据转换
String str32 = String.valueOf(123456);
System.out.println("String.valueOf() : " +str32);//输出String.valueOf() : 123456 //字符抽取
//charAt
String str4 = "A long String!";
System.out.println("charAt(3) : "+str4.charAt(3));//输出charAt(3) : o
//getChars()
char buf [] = new char[6-2];
str4.getChars(2, 6, buf , 0);
System.out.print("getChars输出 :");
System.out.println(buf); //输出getChars输出 :long
//char[] toCharArray()
System.out.println(str4.toCharArray());//输出A long String!
//抽取子串
String str5 = str4.substring(2,8);
System.out.println("subString(2,8)输出 : "+str5);//输出subString(2,8)输出 : long S
StringBuffer http://docs.oracle.com/javase/7/docs/api/
A thread-safe, mutable sequence of characters. A string buffer is like a String, but can be modified.
/*
* StringBuffer()
* StringBuffer(int size)
* StringBuffer(String str)
* 接收一个String变元,指定StringBuffer对象的初始内容,并额外预留16个字符空间
* StringBuffer(CharSequence chars)
*/
StringBuffer sbf = new StringBuffer("Hello");
System.out.println("buffer = " +sbf);
System.out.println("length = " +sbf.length());
System.out.println("capacity = " +sbf.capacity()); System.out.println("----重新指定缓冲区大小----");
sbf.ensureCapacity(55);
System.out.println("buffer = " +sbf);
System.out.println("length = " +sbf.length());
System.out.println("capacity = " +sbf.capacity()); System.out.println("----设置缓冲区长度----");
sbf.setLength(30);
System.out.println("buffer = " +sbf);
System.out.println("length = " +sbf.length());
System.out.println("capacity = " +sbf.capacity());
输出结果:
buffer = Hello
length = 5
capacity = 21
----重新指定缓冲区大小----
buffer = Hello
length = 5
capacity = 55
----设置缓冲区长度----
buffer = Hello
length = 30
capacity = 55
StringBuilder http://docs.oracle.com/javase/7/docs/api/
除了一个重要的区别之外,StringBuffer等同于StringBuilder,区别是:它不是同步的,即意味着它不是线程安全的。
StringBuilder优势在于具有更快的性能,但是使用多线程时必须使用StringBuffer,而不能使用StringBuilder
Java学习笔记--String StringBuffer StringBuilder的更多相关文章
- Java学习之String StringBuffer StringBuilder区别
1.String:对象长度是不可变的,是线程安全. 2.StringBuffer:对象长度是可变的,是线程安全. 3.StringBuilder:对象长度是可变,不是线程安全.
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
- 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...
- 重温java中的String,StringBuffer,StringBuilder类
不论什么一个系统在开发的过程中, 相信都不会缺少对字符串的处理. 在 java 语言中, 用来处理字符串的的类经常使用的有 3 个: String.StringBuffer.StringBuilder ...
- Android/Java 中的 String, StringBuffer, StringBuilder的区别和使用
Android 中的 String, StringBuffer 和 StringBuilder 是移动手机开发中经常使用到的字符串类.做为基础知识是必须要理解的,这里做一些总结. A.区别 可以从以下 ...
- 在JAVA中,String,Stringbuffer,StringBuilder 的区别
首先是,String,StringBuffer的区别 两者的主要却别有两方面,第一是线程安全方面,第二是效率方面 线程安全方面: String 不是线程安全的,这意味着在不同线程共享一个String ...
- Java学习笔记——String与StringBuffer
String与StringBuffer String.substring(start,end); 范围为[start,end) StringBuffer.delete(start,end) 范围也是为 ...
- Java基础知识 String StringBuffer StringBuilder三者的区别(面试题)
相同点:String.StringBuffer.StringBuilder最终底层存储与操作的都是char数组,StringBuffer和StringBuilder都继承了AbstractString ...
- java 基础 5 String StringBuffer StringBuilder
String是不可变的,原因 1是可以缓存hash值,因为String的hash值经常被使用,例如String用作HashMap等.不可变特性 使得hash值不变,因此只需要进行一次计算: 2Str ...
随机推荐
- 通过Shell和Redis来实现集群业务中日志的实时收集分析
http://www.linuxidc.com/Linux/2013-05/83935.htm
- 一本QT书,连接MySQL图文并茂
http://qtdebug.com/index.html http://qtdebug.com/DB-AccessMySQL.html
- 2015.9.11模拟赛 codevs 4160【会玩的】
题目描述 Description hzwer真的很会玩啊…他有一个n*m的方格,每次可以给方格添加一整行或一整列,但是不能删除.现在他想要让总格子数超过k个,但是又想让总格子数尽可能小.请找出这时的n ...
- [北京周六见]10 家创业公司联合招 Partner-均融资 1 到 3 轮-薪酬股权可观-本周六举行欢迎来坐坐吃喝谈天 - V2EX
[北京周六见]10 家创业公司联合招 Partner-均融资 1 到 3 轮-薪酬股权可观-本周六举行欢迎来坐坐吃喝谈天 - V2EX [北京周六见]10 家创业公司联合招 Partner-均融资 1 ...
- js函数收藏:获取cookie值
//先设置一段子cookie var d = new Date(); d.setMonth(d.getMonth() + 1); d = d.toGMTString(); var a = " ...
- uploadify不能正确显示中文的按钮文本的解决办法
uploadify 目前不能正确显示中文的按钮文本. 我发现bug的原因是uploadify错误的使用了 js 的 escape 和 flash 的 unescape配对,而这2个是不兼容的.正确的转 ...
- Redis源代码分析-内存数据结构intset
这次研究了一下intset.研究的过程中,一度看不下过去,可是还是咬牙挺过来了.看懂了也就是那么回事.静下心来,切莫浮躁 Redis为了追求高效,在存储下做了非常多的优化,像intset就是作者为了节 ...
- 【BUG】Kewastunpackstats(): Bad Magic 1 (0x。。。。, 0)
Kewastunpackstats(): Bad Magic 1 (0x1108f7b87, 0) In Alert Logfile After Upgrading to 11.2.0.1 Appli ...
- [ES6] Function Params
1. Default Value of function param: The function displayTopicsPreview() raises an error on the very ...
- Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习
http://blog.csdn.net/pipisorry/article/details/44245575 关于怎么学习python,并将python用于数据科学.数据分析.机器学习中的一篇非常好 ...