JAVA基础知识总结14(String、StringBuffer、StringBuilder)
1.String字符串:
java中用String类进行描述。对字符串进行了对象的封装。这样的好处是可以对字符串这种常见数据进行方便的操作。对象封装后,可以定义N多属性和行为。
如何定义字符串对象呢?String s = "abc";只要是双引号引起的数据都是字符串对象。
特点:字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中。
String s1 = "abc"; // s1指向的内存中只有一个对象abc。
String s2 = new String("abc"); // s2指向的内容中有两个对象abc、new 。
System.out.println(s1==s2);//false
System.out.println(s1.equals(s2));//true ,字符串中equals比较的是字符串内容是否相同。
字符串的方法:
1:构造方法:将字节数组或者字符数组转成字符串。
String s1 = new String();//创建了一个空内容的字符串。
String s2 = null;//s2没有任何对象指向,是一个null常量值。
String s3 = "";//s3指向一个具体的字符串对象,只不过这个字符串中没有内容。
new String(char[]);//将字符数组转成字符串。
new String(char[],offset,count);//将字符数组中的一部分转成字符串。
2.StringBuffer字符串缓冲区:
构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。
特点:
1:可以对字符串内容进行修改。
2:是一个容器。
3:是可变长度的。
4:缓冲区中可以存储任意类型的数据。
5:最终需要变成字符串。
3.StringBuilder字符串缓冲区:
JDK1.5出现StringBuiler;构造一个其中不带字符的字符串生成器,初始容量为 16 个字符。
该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。方法和StringBuffer一样;
StringBuffer 和 StringBuilder 的区别:
StringBuffer线程安全。
StringBuilder线程不安全。
单线程操作,使用StringBuilder 效率高。
多线程操作,使用StringBuffer 安全。
JAVA基础知识总结14(String、StringBuffer、StringBuilder)的更多相关文章
- Java基础知识强化43:StringBuffer类之StringBuffer和String的相互转化
1. String和StringBuffer的相互转换 思想是:A-----B的转换,我们把A转换为B,其实是为了使用B的功能:B-----A的转换,我们可能的结果是A类型,所以还要转换回来 2. 案 ...
- java基础知识(15)----StringBuffer与StringBuilder
StringBuffer字符串缓冲区: 构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符.特点:1:可以对字符串内容进行修改.2:是一个容器.3:是可变长度的.4:缓冲区中可以存储任意类型 ...
- Java基础(40)String、StringBuilder和StringBuffer的区别(TODO)
一.String String实现了Serializable接口.Comparable<String>接口和CharSequence接口,并且使用final char value[]不可变 ...
- Java基础知识强化47:StringBuffer类之StringBuffer的三个面试题
1. 面试题:String,StringBuffer,StringBuilder的区别 ? 答:String是字符串内容不可变的,而StringBuffer和StringBuilder是字符串内容长度 ...
- Java基础知识强化14:Java死亡竞赛题目解析
一个小型网站上发布了一个称为Java“死亡竞赛”的新项目.测验发布后,超过20000位开发者参加了测验.网站以20道关于Java的多选题为主.我们得到了众多开发者的测验统计数据,今天,我们非常乐意 ...
- Java基础知识强化46:StringBuffer类之判断一个字符串是否对称案例
1. 分析:判断一个字符串是否是一个对称的字符串,我们只需要把字符串的第1个字符和最后1个字符,第2个字符和倒数第2个字符,…… 比较的次数是长度除以2. 方法1:通过取取索引对应值来进行一一比对 ...
- Java基础知识强化45:StringBuffer类之字符串反转的案例
1. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 把字符串反转 */ public class StringBufferTes ...
- Java基础知识强化42:StringBuffer类之StringBuffer的截取功能
1. StringBuffer的截取功能: public String subString(int Start): public String subString(int Start, int end ...
- Java基础知识强化40:StringBuffer类之StringBuffer的替换功能
1. StringBuffer的替换功能: public StringBuffer replace(int start, int end, String str): 2. 案例演示: p ...
随机推荐
- java: Comparable比较器,定义二叉操作类
//定义二叉操作类 class BinaryTree{ class Node{ private Node left; //左指数 private Node right; //右指数 private C ...
- 完全分布式安装hadoop集群
0.安装jdk 1.配置hosts文件 2.建立hadoop运行账号 3.配置ssh免密码登录 4.在namenode上配置hadoop 4.1.修改hadoop-env.sh文件 4.2.修改yar ...
- Red hat linux 下配置Java环境(jdk)
1.把jdk-6u25-linux-i586-rpm.bin 复制到redhat linux中,放到/usr/java 目录下,该目录是mkdir 的,并chmod 755 jdk-6u25-li ...
- SQLSERVER XML 类型列的模糊查询
select <column_name> from MyTable where <column_name>.value('(/root/sub-tag)[1]', 'varch ...
- MAMP软件的安装和使用
MAMP Pro软件是一款很好的在MAC下面运行的网站集成环境软件,功能强大,配置简单,十分便于本地调试,其由Apache+MySQL+PHP+动态DNS配置构成,PHP的版本可以动态切换到最新版.无 ...
- Admin和单例模式
admin功能定制 两种定制方式: 方式一: class UserConfig(admin.ModelAdmin): list_display = ('user', 'pwd',) admin.sit ...
- checking for event2/thread.h... no libevent_pthreads required, failing
/********************************************************************************** * checking for e ...
- Angular 隨記
Windows下更新Node 和NPM方法 管理員模式打開powershell 執行以下命令: Set-ExecutionPolicy Unrestricted -Scope CurrentUser ...
- Js里头的对象字面量
JavaScript 对象字面量 在编程语言中,字面量是一种表示值的记法.例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal ) ...
- HIVE-几道经典的hive题目
建表相关语句在此,具体的数据自己制作吧 create table student(Sno int,Sname string,Sex string,Sage int,Sdept string)row f ...