构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符. 特点: 1:可以对字符串内容进行修改. 2:是一个容器. 3:是可变长度的. 4:缓冲区中可以存储任意类型的数据. 5:最终需要变成字符串. 容器通常具备一些固定的方法: 1,添加. StringBuffer append(data):在缓冲区中追加数据.追加到尾部. StringBuffer insert(index,data):在指定位置插入数据. 2,删除. StringBuffer delete(start,end);删除从…
JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍). 方法和StringBuffer一样: StringBuffer 和 StringBuilder 的区别: StringBuffer线程安全. StringBuilder线程不安全.   单线程操作,使用StringBuilder 效率高. 多线程操作,使用StringBuffer…
一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可. 在JDK安装目录下有个src.zip文件,这个文件解压缩后里面的内容是所有Java类的源文件.可以在其中查看相对应的类的源码. 我们在每次查看类中的方法时,都打开源代码进…
一直以来,都是看到网上说“ StringBuilder是线程不安全的,但运行效率高:StringBuffer 是线程安全的,但运行效率低”,然后默默记住:一个是线程安全.一个线程不安全,但对内在原因并不了解.这两天终于下定决心看了下源代码,才深刻理解为啥一个线程安全.一个非线程安全. 一名话总结:java.lang.StringBuilder 与 java.lang.StringBuffer 同是继承于 java.lang.AbstractStringBuilder,具体在功能实现大多在 Abs…
public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence { /** * Constructs a string buffer with no characters in it and an * initial capacity of 16 characters. */ public StringBuffer() { super(16);…
java中用String类进行描述.对字符串进行了对象的封装.这样的好处是可以对字符串这种常见数据进行方便的操作.对象封装后,可以定义N多属性和行为. 如何定义字符串对象呢?String s = "abc";只要是双引号引起的数据都是字符串对象. 特点:字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中. ------------------------------------------------------ String s1 = "abc"; //…
StringBuffer是一个线程安全的可变序列的字符数组对象,它与StringBuilder一样,继承父类AbstractStringBuilder.在多线程环境中,当方法操作是必须被同步,StringBuffer内的方法被同步化时,以实现跟在单线程中操作一样的一致性. public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence { //一…
这两个类都是继承自AbstractStringBuilder,AbstractStringBuilder有两个成员属性 char[] value; int count; 前者用于存储字符串,后者用于统计实际使用了多少位,也就是实际存入字符串长度.当new一个StringBuilder或者StringBuffer的时候,默认capacity为16,也即声明出一个16大小的字符数组,此时count=0,value.length=16. public StringBuilder() // 初始char…
1.获取文件名 //获取文件名,即就是去掉文件的后缀 /** * mypic.jpg * 获取文件名 * 1. 先找到"."的位置 * 2. 从第一个字符开始截取到"."的位置 */ String name = "mypic.jpg"; int index = name.indexOf("."); String subName = name.substring(0, index); System.out.println(sub…
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以…
String  字符串常量存储在常量区,每次追加操作会创建新的对象: StringBuffer  字符串变量  线程安全 在堆上创建,每次追加操作在原对象上进行操作:  速度 StringBuffer > String StringBuilder 字符串变量   线程不安全,速度 StringBuilder >  StringBuffer String http://blog.csdn.net/rmn190/article/details/1492013 简要的说, String 类型和 St…
java.lang 类 StringBuffer java.lang.Object java.lang.StringBuffer 所有已实现的接口: Serializable, Appendable, CharSequence public final class StringBufferextends Objectimplements Serializable, CharSequence 线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某…
在Java语言中,字符串数据实际上由String类所实现的.Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串:另一类是在程序中会被改变长度的可变字符串.Java环境为了存储和维护这两类字符串提供了 String和StringBuffer两个类(在JDK1.5版本后出现了StringBuilder,该类被设计用作 StringBuffer 的一个简易替换). 一.字符串(String) 1.字符串概念了解         String 类代表字符串,Java 程序中的所有字符串字…
String 字符串常量StringBuffer 字符串变量(线程安全)  多个线程访问时,不会产生问题(Synchronized)StringBuilder 字符串变量(非线程安全) 多个线程访问时可能会产生问题 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不…
java.lang.String是使用频率非常高的类.要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的.由java.lang.String,自然联想到java.lang.StringBuffer和java.lang.StringBuilder,下篇文章再来研究java.lang.StringBuffer和java.lang.StringBuilder. 重要属性 java.lang.String对象中字符串主要是以字符数组的形式存储.当调用对象方法获取字符串长度时…
Java中的String Java.Lang.String是Java语言自带的字符串实现,它并不是java的基本类型,但却和几乎每个java程序都密切相关的一个基础java类. string类内部实际实现存储的字符数组在定义时用关键字final修饰,意味着这个属性是一个常量,在初始化之后就不能再被修改.这也同时表明所有对String对象的修改操作(包括append,substring,concat,replace,trim等),在具体实现中返回的都是一个全新的string对象副本.总结来说,Ja…
package cn.learn; /* 字符串缓冲区 -缓冲可提高效率 java.lang.StringBuilder 字符串的底层是一个被final修饰的数组,不能改变,是一个常量 private final byte[] value; 也就是说在字符串相加时,会生成多个字符串,占用空间效率低下 eg:String str = "a"+"b"+"c" 会有a,b,c,ab,abc五个字符串,jdk1.5以后用的是SttingBuilder.a…
一.概述 1.介绍 String是一个final类,不可被继承,代表不可变的字符序列,是一个类类型的变量.Java程序中的所有字符串字面量(如"abc")都作为此类的实例实现,"abc"是一个对象.字符串是常量,创建之后不能更改,包括该类后续的所有方法都是不能修改该对象的,直至该对象被销毁(该类的一些方法看似改变了字符串,其实内部都是创建一个新的字符串). String对象的字符内容是存储在一个字符数组 value[] 中的. 二.类源码 1.类声明 源码示例: 1…
报错栈: -- ::, INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: = AND = -- ::, INFO [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Working on split: = AND = -- ::, INFO [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Executing…
ylbtech-Java-Class-FC:java.lang.StringBuilder 1.返回顶部   2.返回顶部 1. @Override public String toString() { final StringBuilder sb = new StringBuilder("PageInfo{"); sb.append("pageNum=").append(pageNum); sb.append(", pageSize=").ap…
反射的基础: java.lang.Class Class类的实例对象,用于记录类描述信息. 源码说:represent classes and interfaces in a running Java application Class类没有公共的构造方法,无法通过new运算符实例化:只能通过对象的getClass方法,或是通过Class.forName(-)来获得实例. static ClassforName(String className)throws ClassNotFoundExcep…
一.字符串拼接问题 由于 String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象. Demo: public class StringDemo { public static void main(String[] args) { String s = "Hello"; s += "World"; System.out.println(s); } } 上面这段代码,总共产生了三个字符串,即“Hello”,“world” 和 “He…
package cn.temptation; import java.util.Arrays; public class Sample01 { public static void main(String[] args) { // 因为字符串创建后就不能修改,导致在进行字符串拼接时,会产生大量的中间字符串,创建对象都是需要消耗资源 // 所以,能不用字符串的直接拼接尽量不使用 // 字符串缓冲区:StringBuffer类/StringBuilder类 // 1.类 StringBuffer:线…
Java 的API 1.1定义 API: Application(应用) Programming(程序) Interface(接口) Java API就是JDK中提供给开发者使用的类,这些类将底层的代码实现封装了起来,不需要关心这些类是如何实现的,只知道如何使用即可. JDK安装目录下有个src.zip文件,里面是所有Java类的源文件.可以查看源码. 但是不方便,所以用api手册查, 打开后,点显示,索引,输入想查看的类,选择第一项,就可以了 可以查看:类的继承体系,接口,子类,成员变量,构造…
一. String 类型 1. String类引入 第二天学习过Java中的常量:   常量的分类:   数值型常量:整数,小数(浮点数) 字符型常量:使用单引号引用的数据 字符串常量:使用双引号引用的数据 布尔型常量:true或false null常量:null 上述的大部分的常量都可以使用Java中提供的8种基本类型进行开辟空间,存储这些常量.          字符串常量不属于8种基本类型中的数据.而它属于Java中的引用类型数据(类类型数据).  字符串数据在Java中使用String类…
一. String 类型 1. String类引入 第二天学习过Java中的常量:   常量的分类:   数值型常量:整数,小数(浮点数) 字符型常量:使用单引号引用的数据 字符串常量:使用双引号引用的数据 布尔型常量:true或false null常量:null 上述的大部分的常量都可以使用Java中提供的8种基本类型进行开辟空间,存储这些常量.          字符串常量不属于8种基本类型中的数据.而它属于Java中的引用类型数据(类类型数据).  字符串数据在Java中使用String类…
String字符串缓冲区 1.StringBuffer类 StringBuffer又称为可变字符序列,字符串缓冲区支持可变的字符串, StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串.并且能够对其中的字符串进行各种操作. 2.StringBuffer的方法使用 构造方法: 常用方法: 代码演示: StringBuffer sb = new StringBuffer(); sb.append("haha"); //添加字符串 System.out.p…
一 字符串缓冲区 1.StringBuffer类 查阅StringBuffer的API,StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容. StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串 .并且能够对其中的字符串进行各种操作. 2.StringBuffer的方法使用 代码演示: 创建一个字符串缓冲区对象.用于存储数据. StringBuffer sb = new Strin…
长久以来,我们被教导字符串的连接最好用StringBuffer.StringBuilder,但是我们却不知道这两者之间的区别.跟字符串相关的一些方法中总是有CharSequence.StringBuffer.StringBuilder.String,他们之间到底有什么联系呢? 1.从类的定义看CharSequence.StringBuffer.StringBuilder.String的关系 下面先贴上这四者的定义(来自JDK1.6) CharSequence是一个定义字符串操作的接口,Strin…
一:问题描述: 在springboot-security框架生成BCryptPasswordEncoder()方法生成加密后的密码后,带有$符号,导致新增用户的时候插入不了,报(IndexOutOfBoundsException: No group 2)的错误! 谷歌一下 java.lang.IndexOutOfBoundsException: No group  这个错误会发现是 String.replace方法出现反斜杠\或美元符号$时会出现这个异常, 二:出现问题的原因: MyBatis直…