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 ...
随机推荐
- ural 1294 Mars Satellites
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> u ...
- MFC新婚之夜(笑昏,大概是指MFC的人固步自封)
请问学会MFC都要学些什么呢?DOC-VIEW,OLE,UI线程,泵,钩,还是堆,栈内存分配与回收的机制?还是那些各种各样的CHAR,还是__cdecl, __stdcall,PASCAL等等,或者编 ...
- Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- BZOJ3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆
3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 11 So ...
- HDU_2042——递归反推
Problem Description 你活的不容易,我活的不容易,他活的也不容易.不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易.重庆市郊黄泥板村的徐老汉(大号徐东海,简称XDH)这两年 ...
- Scala-变量、常量和懒加载
package com.mengyao.scala.function /** * Scala的变量声明和使用(可变类型和值类型) * * @author mengyao */object Test0 ...
- char和int的转换
import java.util.Scanner; public class test7 { public static void main(String[] args) { // TODO Auto ...
- Python学习日志(六)
字符串的方法及注释 字符串转义字符含义 字符串格式化符号含义 eg:'a'的ASCii码是97 格式化操作符辅助指令 format()字符串格式化方法 字符串的格式化是指统一字符串格式 format( ...
- Ajax原生XHR对象
前端学了有一段时间了,在项目中我通常使用的都是jQuery封装好的Ajax函数($.ajax.$.get.$.post),使用非常的简单方便,但为了更清楚的了解Ajax,需要学习原生xhr对象. ...
- vmstat
vmstat(virtual memory statitics)命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况, ...