Sring StringBuffer StringBuilder封装类
Sring StringBuffer StringBuilder封装类
一、String类常见方法的使用
字符串数据都是一个对象
字符串数据一旦初始化就不可以被改变
字符串对象都存储于常量池中,字符串常量池
==比较的是地址值,而new是重新开辟
1、判断
- equals(Object obj) :字符串类重写了Object的方法,用于比较字符串的值是否相等
- equalsIfnoreCase(String anotherString) 用于标胶字符串的值是否相等不区分大小写
- contains(String s) :判断一个字符串中是否包含另一个字符串
- startd With(String prefix) :测试次字符串是否是以指定的前缀开始
- endsWith(String suffix):测试此字符串是否以指定的后缀结束
- idEmpty()判断字符串是否为空
2、获取
int length() :获取字符串长度
char charAt(int index):获取指定位置的字符
获取指定的字符串或者字符串在给定的字符串中第一次出现的索引
- int indexOf(int ch) 获取指定字符串在字符串中第一次出现的索引
- int indexOf(int ch ,int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
- int indexOf(String str) 获取指定字符串在字符串中第一次出现的索引
- int indexOf(String str ,int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
获取指定的字符或者字符串在给定的字符串中最后一次出现的索引
int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。
int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,
从指定的索引处开始进行反向搜索。
int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引。
int lastIndexOf(String str, int fromIndex)返回指定子字符串在此字符串中最后一次出现处
的索引,从指定的索引开始反向搜索。
获取子串
String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。
String substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个
子字符串。 <含头不含尾>
3、转换
字符串和字节数组的转换
从 String 到 byte[]------>byte[] getBytes()
从 byte[]到 String-------->new String(byte[] by)构造方法 .
字符串和字符数组的转换
从 String 到 char[]
char[] toCharArray()
length(),charAt(int index)结合
从 char[]到 String
new String(char[] ch)
static copyValueOf(char[] data)
static String valueOf(char[] data, int offset, int count)
static String valueOf(xxx y) xxx 基本数据类型
举例:int x = 4;
基本数据类型转换成字符串:String.valueOf(x);
static String valueOf(Object obj) 把对象转成字符串
举例:
Demo d = new Demo();
sop(d);
sop(d.toString());
sop(String.valueOf(d));
String toUpperCase() 所有字符都转换为大写
String toLowerCase() 所有字符都转换为小写
字符串的连接
字符串连接符:+
String concat(String str) 将指定字符串连接到此字符串的结尾。
String s = "aaa" s.concat("bbb").concat("ccc").concat("ddd");
4、替换
String replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替
换此字符串中出现的所有 oldChar 得到的。
String replace(String oldString, String newString) 返 回 一 个 新 的 字 符 串 , 它 是 通 过 用 newString 替换此字符串中出现的所有 oldString 得到的。
5、切割
- String[] split(String regex)根据给定的字符串把字符串分割.
6、去除字符串空格
- trim() 去除字符串的前后空格
三、StringBuffer&StringBuilder
字符串String是定长的,StringBuffer是变长的
元素的追加
- insert(索引,元素)
- reverse();反转
- capacity();容量 它可以存储的元素个数
- length();长度 它实际存储的元素个数
- String substring(索引,); 把 StringBuffer 中的一部分复制,然后把复制的这部分内容赋给了一个 String.
StringBuffer,StringBuilder区别
- StringBuffer 线程安全的,效率低(同步)
- StringBuilder 线程不安全的,效率不高(不同步的)
- 基本数据类型用比较运算符进行比较,引用数据类型用compare To进行比较
Sring StringBuffer StringBuilder封装类的更多相关文章
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- String,StringBuffer,StringBuilder的区别
public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...
- [源码]String StringBuffer StringBudlider(2)StringBuffer StringBuilder源码分析
纵骑横飞 章仕烜 昨天比较忙 今天把StringBuffer StringBulider的源码分析 献上 在讲 StringBuffer StringBuilder 之前 ,我们先看一下 ...
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- String, StringBuffer, StringBuilder比较
1.见API: String是不可变的字符序列: StringBuffer是线程安全的,可变的字符序列: StringBuilder是可变的字符序列: StringBuffer与String的区别是S ...
- [置顶] String StringBuffer StringBuilder的区别剖析
这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...
- Java学习笔记--String StringBuffer StringBuilder
String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...
- String StringBuffer StringBuilder (转)
转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
随机推荐
- 实验1c语言的开发环境使用和数据类型,运算符,表达式
#include<stdio.h> int main() { printf("); ; } /*求两个整数的乘积*/ #include<stdio.h> int pr ...
- [LeetCode] 238. Product of Array Except Self 除本身之外的数组之积
Given an array nums of n integers where n > 1, return an array output such that output[i] is equ ...
- Tomcat配置https访问
1.利用JDK自带的keytools生成一个p12类型的证书 keytool -genkey -storetype PKCS12 -alias tomcat -keyalg RSA -keysize ...
- (三十一)golang--面向对象之工厂模式
golang面向对象中是不存在构造函数的,可以使用工厂模式. 使用工厂模式,让即使不是大写的变量可以被外部包使用.
- 在项目中使用Solr
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- ThinkPHP查询数据的时候toArray()报错解决办法
当查找不到数据时toArray()会报错,如图 解决办法:先查找数据,然后加个判断,如果有数据再转化为数组,如果没有数据就给个空值,不想代码继续往下执行就return false;
- AngleSharp 实战(05)之遍历内部子元素(x)元素,尝试着获取元素的 Attr 和 InnerText
直接贴代码了: using System; using System.Linq; using System.Threading.Tasks; using AngleSharp; using Angle ...
- 记录自己运行eShopOnContainers过程中遇到的坑
由于各种各样的问题,依照官方文档运行eShopOnContainers项目遇到了好多莫名其妙的错误. 好在最后都解决了,在此记录,以防自己以后再遇到,也为遇到同样问题的同学提供参考. 参考的官方文档 ...
- 最简单取得外网IP
#coding=utf-8import urllib2import re print re.search('\d+\.\d+\.\d+\.\d+',urllib2.urlopen("http ...
- javascript 关于赋值、浅拷贝、深拷贝的个人理解
关于赋值.浅拷贝.深拷贝,以前也思考良久,很多时候都以为记住了,但是,我太难了.今天我特地写下笔记,希望可以完全掌握这个东西,也希望可以帮助到任何想对学习这个东西的同学. 一.栈.堆.指针地址 栈内存 ...