常用类:String,StringBuffer,StringBuilder
String
String类被final修饰符修饰,所以不能将其进行继承,所有对它的改变都要重新创建一个新的地址
1.String的构造器
String()
String(byte 【】bytes)//把byte类型的用ASCII码构成一个新的数组
String(byte 【】bytes,int offest,int length)//从哪开始,指定长度
String(byte 【】bytes,Charset charset)//指定用来解码的Charset
String (char 【】 value)//字符串的初始值
String(char 【】value ,int offest ,int count )//从哪开始,指定长度
2.String的方法
(1)String的判断功能
public boolean equals(Object objiect){//先比较引用类型的内存地址,后比较值}
boolean /contains(String str ){\\ 是否包含子字符串}
boolean /startsWith(String str ){\\ 判断字符串是否以str开始}
boolean /endsWith(String str ){\\ 判断字符串是否以str结束}
boolean /equalsIgnoreCase(String str){\\忽略大小写的比较}
boolean /is Empty(){\\判断字符串是否为空}
(2)String的取值功能
int /length() {\\返回字符串的长度}
char /charAt(int index){\\通过字符下标找到指定的字符}
int /indexOf(int ch){\\寻找出此对象表示的字符,在字符序列中第一次出现的索引,没有时报-1}
int /lastIndexOf(int ch){\\寻找出此对象表示的字符,在字符序列中最后一次出现的索引,没有时报-1}
int /indexOf(int ch,int fromIndex){\\从指定位置寻找出此对象表示的字符,在字符序列中第一次出现的索引,没有时报-1}
String /subString(int Start){\\截取从start到结束的字符串}
String /subString(int Start,int end){\\截取从start到end的字符串}【包前不包后】
(3)String的转换
byte 【】 /get Byte(){\\把字符串转换为byte类型的数组}
char 【】 /toCharArray(){\\把字符串转换为char型的数组}
static String /valueOf(char【】ch){\\静态方法可以直接用对象来调用,把char【】转换为字符串}
String /toUpperCase(){\\把小写转换成大写}
String /LowerCase(){\\把大写转换成小写}
String /concat(String st){\\拼接}
(3)String的其他功能
替换功能:String /replace(char old,char new ){\\替换单个字符}
String /replace(String old,String new ){\\替换整个字符串}
去除字符串的两个空格:String /trim(){\\只能去除字符串开始和结尾的两个空格,中间的不能}
StringBuffer
线程安全的可变字符序列
1.StringBuffer的构造方法
public StringBuffer(){}
public StringBuffer(int capacity){}
public StringBuffer(String str){}
2.StringBuffer的常用方法
append(){\\追加【内存中的改变】}
toString(){\\通过StringBuffer转换String}
reverse(){\\反转}
equals 与 == 的区别
== 比较常量时就比较值,比较引用类型时,就比较的是地址值
equals 只能比较引用类型,比较时先比较它们的内存地址,再去比较它们的值,两个条件值是或的关系
String ,StringBuffer,StringBuilber的区别
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全):该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候
String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
常用类:String,StringBuffer,StringBuilder的更多相关文章
- JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类
字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...
- 重温java中的String,StringBuffer,StringBuilder类
不论什么一个系统在开发的过程中, 相信都不会缺少对字符串的处理. 在 java 语言中, 用来处理字符串的的类经常使用的有 3 个: String.StringBuffer.StringBuilder ...
- Java 常用类String类、StringBuffer类
常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { publi ...
- 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 StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- [置顶] String StringBuffer StringBuilder的区别剖析
这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...
- 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 ...
- String,StringBuffer,StringBuilder的区别及其源码分析
String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...
随机推荐
- 基于Dubbo的分布式事务框架(LCN)
原文地址:http://原文地址:https://github.com/1991wangliang/transaction 基于Dubbo的分布式事务框架(LCN) 该框架依赖Redis/dubbo/ ...
- 1.免费安装myeclipse 10以及破解
1.材料准备 jdk1.8.0_101 网盘地址链接: http://pan.baidu.com/s/1ge8Jaz5 密码: qb6v myeclipse-10.6-offline-installe ...
- Disruptor的应用示例——大文件拆分
结合最近Disruptor的学习,和之前一直思考解决的大文件拆分问题,想到是否可以使用Disruptor作为生产者/消费者传递数据的通道呢?借助其高效的传递,理论上应当可以提升性能.此文便是此想法的落 ...
- Linux配置LNMP环境(一)配置Nginx
注意:配置版本nginx-1.12.0,使用虚拟机安装linux.教程中的下载地址可能有变化.注意(在您看本教程之前首先需要对linux的基本操作熟悉) 1. 先cd到/usr/local/src ...
- JQuery中常用的选择器
属性选择器 1> [attribute] 概述:匹配包含给定属性的元素. 示例 jQuery 代码:$("div[id]") 描述:查找所有含有 id 属性的 div 元素 ...
- .NET C#到Java没那么难,DB篇
前言 .NET C#到Java没那么难,都是面向对象的语言,而且语法还是相似的,先对比一下开发环境,再到Servlet,再到MVC,都是一样一样的,只是JAVA的配制项比较多而已,只要配好一个,后面都 ...
- Java 9 揭秘(11. Java Shell)
Tips 做一个终身学习的人. 在本章节中,主要介绍以下内容: 什么是Java shell JShell工具和JShell API是什么 如何配置JShell工具 如何使用JShell工具对Java代 ...
- Mac终端查看sqlite3数据库、表数据等
背景: 我们在用FMDB处理iOS数据库时,沙盒里保存的数据库格式为.sqlite3. 当我们需要在模拟器上调试或查看数据库内容时,我们可以直接在终端里查看到. 正文: 1.在沙盒路径找到需要查看到文 ...
- 迭代器 Iterator
迭代器 Iterator 2016-5-7 可以这样说,迭代器统一了对容器的访问方式. 考虑这样的情景:原本是对着List编码,但是后来发现需要把相同的代码用于Set.我们需要一种不关心容器类型 而能 ...
- 本地Server发布外网Web应用(Oray实现)
主要讲解如何将本地当做服务器,发布Web应用至外网访问. 准备条件: 1.web应用服务(此处为Tomcat作为web应用服务器): 2.花生壳应用: 第一步,正常搭建本地web项目,应用名为 ...