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 ...
随机推荐
- 8.2.1.5 Engine Condition Pushdown Optimization 引擎条件下推优化
8.2.1.5 Engine Condition Pushdown Optimization 引擎条件下推优化 这种优化改善了直接比较在一个非索引列和一个常量比较的效率. 在这种情况下, 条件是 下推 ...
- 我学hash_map(1)
本文来源:http://blog.chinaunix.net/uid-26548237-id-3800125.html map是什么? map是键值对(key-value),复杂度是O(n).但是查 ...
- Cplus
1,factorials[i] = i * factorials[i - 1]; #include <iostream>using namespace std; const int ArS ...
- Django中生成PDF(一)
Django中生成PDF(一) 需求描述: 某网站与其用户达成一致的协议,每份协议中都有用户相关的独特信息,且还需要生成PDF并存档.PDF文件中需要有企业LOGO.文字描述等信息.其展现形式 ...
- HDOJ 3622 - Bomb Game 2-sat+二分....细心...
题意: 有N个炸弹..每个炸弹有两个位置可以选择..把炸弹放到其中一个地方去...炸弹的爆炸范围是其为圆心的圆...两个炸弹不能有攻击范围上的重合..问要满足条件..炸弹爆炸范围的半径最长能是多少.. ...
- yii 使用 phpmailer发送邮件
原文链接 : http://www.yiiframework.com/extension/mailer/ 下载插件放在 :XXX/protected/extensions/ 作为一个普通的组建使用 ...
- C语言自动类型转换
自动转换遵循以下规则: 1) 若参与运算量的类型不同,则先转换成同一类型,然后进行运算. 2) 转换按数据长度增加的方向进行,以保证精度不降低.(eg:int型和long型运算时,先把int量转成lo ...
- android后台截屏实现(3)--编译screencap
修改好之后就要编译了,screencap的编译是要在源码环境中进行的. 将修改后的screencap.cpp文件替换源码中的原始文件,然后修改screencap的Android.mk文件,修改后的文件 ...
- HDU4662+无
把目标中的 U 转化为 I. 又因为 I的个数是有规律的:1 2 4 8 16 ...再结合可以取消 6 12 18 ...个I...得解 #include<string.h> #incl ...
- coco2d-html5制作弹弓射鸟第一部分---橡皮筋
一.写在前面的话 最近在学习cocos2d-html5方面的知识,一直想从事游戏方面的工作,自己也找了好多资料.网上关于cocos2d-html5的教程真的不多,也只有自己摸索,慢慢看示例代码.由于本 ...