JAVA API-----String类和StringBuffer类
String类和StringBuffer类主要用来处理字符串,这两个类提供了很多字符串的使用处理方法。String类是不可变类,表示对象所包含的字符串类不能改变。StringBuffer类是可变类,其对象所包含的字符串内容可以被添加或修改。
关于这两个类处理字符串的常用方法请参考:http://www.runoob.com/java/java-string.html
http://www.runoob.com/java/java-stringbuffer.html
下面主要介绍:equals和==在字符串和非字符串使用方面的区别
class Test{int x=1; }public class EqualTest{public static void main(String args[]){String a1,a2,a3="abc",a4="abc";a1=new String("abc");a2=new String("abc");System.out.println("a1.equals(a2): "+(a1.equals(a2)));System.out.println("a1==a2: "+(a1==a2));System.out.println("a1.equals(a3): "+(a1.equals(a3)));System.out.println("a1==a3: "+(a1==a3));System.out.println("a3.equals(a4): "+(a3.equals(a4)));System.out.println("a3==a4: "+(a3==a4));System.out.println("----------------------------");Test one=new Test();Test two=new Test();System.out.println("one.equals(two): "+(one.equals(two)));System.out.println("one==two: "+(one==two));one=two;System.out.println("赋值后:");System.out.println("one.equals(two): "+(one.equals(two)));System.out.println("one==two: "+(one==two));} }
1. ==可以用来比较基本类型和引用类型,判断内容和内存地址
2. equals只能用来比较引用类型,它只判断内容。
java中的数据类型,可分为两类:
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类)
当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,
所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。
字符串缓冲池:程序在运行的时候会创建一个字符串缓冲池。
当使用 String a3 = "abc"; 这样的表达是创建字符串的时候,程序首先会在这个String缓冲池中寻找相同值的对象
在String a3 = "abc";中,a3先被放到了池中。所以在a4被创建的时候,程序找到了具有相同值的 a4,并将a4引用a3所引用的对象"abc"。
使用了 new 操作符,他明白的告诉程序:"我要一个新的!不要旧的!"于是一个新的"abc"Sting对象被创建在内存中。他们的值相同,但是位置不同。
转载于:https://www.cnblogs.com/scf141592/p/5748223.html
JAVA API-----String类和StringBuffer类相关推荐
- java 调用弗雷_JAVA API(一)String类和StringBuffer类
1.String类和StringBuffer类 在程序中经常会用到字符串,所谓的字符串就是指一连串的字符,它是由多个单个字符连接而成的.字符串中可以包含任意字符,这些字符必须包含在一对双引号" ...
- 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照
本文主要介绍String类.StringBuffer类.StringBuilder类的差别 : 一.概述 (一)String 字符串常量.可是它具有不可变性,就是一旦创建,对它进行的不论什么改动操作 ...
- 【JAVA SE】第十章 String类、StringBuffer类和StringBuilder类
第十章 String类.StringBuffer类和StringBuilder类 文章目录 第十章 String类.StringBuffer类和StringBuilder类 一.String类 1.创 ...
- Java常用类库(Object类、String类、StringBuffer类、包装类、Math类、System类)详解
常用类库 java.lang java.lang包下放置了Java开发中常用的类和接口,所以为简化该包下类的使用,java.lang包下的类在使用时不需要导入这些类 java.lang包下常用类有: ...
- java学习笔记(十)----String类和StringBuffer类
***String类和StringBuffer类 -------------------------- String类对象中的内容一旦被初始化就不能再改变 StringBuffer类用于封装内容可以改 ...
- Java学习总结:31(StringBuffer类)
StringBuffer类 在Java中String类不适合使用于频繁修改字符串的操作上(因为其字符串常量一旦声明则不可改变,只能改变字符串对象,改变的是其内存地址的指向),所以我们可以使用Strin ...
- String类和StringBuffer类的区别
首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...
- java API(String类 和 StringBuffer类)
java api 指的是jdk中提供的各种功能的java类. 在java中定义了String和StringBuffer两个类来包装字符串,并提供了一系列操作字符串的方法,他们都位于java.long包 ...
- Java常用接口与类——String类、StringBuffer类、StringBuilder类
>String的构造方式 //这两种方式字符串的值是相同的,但在内存中的地址不同: //s1是在常量池中,常量池中有一个hello,同一常量只会放入一次: String s1="hel ...
最新文章
- fsum函数测试以及分析
- cacti系列(一)之cacti的安装及配置监控mysql服务
- 动态规划各类问题分析——LeetCode习题精讲
- SpringMVC-文件上传
- addslashes注入漏洞与mb_addslashes
- html 脚本 gdi,基于gdi的简单画图
- 北理工的石锅饭依然美味
- LeetCode 要记得一些小trick
- vfp python_Visual Fox Pro和Python
- 基于opencv的简单数字识别
- liunx机器开放8080端口
- rtmp协议发送mp3和aac裸流的方法
- 恭喜!公积金将按月提取!12月31日前,全面执行!
- [置顶]封闭环境下的人性博弈——长文纪念诺兰的蝙蝠侠三部曲
- 讲讲Python爬虫绕过登录的小技巧
- uniapp调用地图并导航
- 和尚挑水安排(回溯问题)
- 小朋友把游戏藏在计算机里,如何设置孩子玩电脑游戏的时间
- 一下科技:未来短视频行业发展呈四大趋势
- diy写字机器人_Mini Telegraph开源电报机创客DIY机械臂写字机器人小贱钟表白
热门文章
- 为什么那么多人工作都不开心?
- 【流媒體】jrtplib—VS2010 下RTP开源协议库JRTPLIB3.9.1编译
- SQL查询效率注意事项
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
- 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )
- 【错误记录】Git 使用报错 ( git: ‘switch‘ is not a git command. See ‘git --help‘. )
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 完整代码示例 )
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
- 008 python接口 unittest
- 利用浏览器LocalStorage缓存图片,视频文件