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类相关推荐

  1. java 调用弗雷_JAVA API(一)String类和StringBuffer类

    1.String类和StringBuffer类 在程序中经常会用到字符串,所谓的字符串就是指一连串的字符,它是由多个单个字符连接而成的.字符串中可以包含任意字符,这些字符必须包含在一对双引号" ...

  2. 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照

    本文主要介绍String类.StringBuffer类.StringBuilder类的差别  : 一.概述 (一)String 字符串常量.可是它具有不可变性,就是一旦创建,对它进行的不论什么改动操作 ...

  3. 【JAVA SE】第十章 String类、StringBuffer类和StringBuilder类

    第十章 String类.StringBuffer类和StringBuilder类 文章目录 第十章 String类.StringBuffer类和StringBuilder类 一.String类 1.创 ...

  4. Java常用类库(Object类、String类、StringBuffer类、包装类、Math类、System类)详解

    常用类库 java.lang java.lang包下放置了Java开发中常用的类和接口,所以为简化该包下类的使用,java.lang包下的类在使用时不需要导入这些类 java.lang包下常用类有: ...

  5. java学习笔记(十)----String类和StringBuffer类

    ***String类和StringBuffer类 -------------------------- String类对象中的内容一旦被初始化就不能再改变 StringBuffer类用于封装内容可以改 ...

  6. Java学习总结:31(StringBuffer类)

    StringBuffer类 在Java中String类不适合使用于频繁修改字符串的操作上(因为其字符串常量一旦声明则不可改变,只能改变字符串对象,改变的是其内存地址的指向),所以我们可以使用Strin ...

  7. String类和StringBuffer类的区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  8. java API(String类 和 StringBuffer类)

    java api 指的是jdk中提供的各种功能的java类. 在java中定义了String和StringBuffer两个类来包装字符串,并提供了一系列操作字符串的方法,他们都位于java.long包 ...

  9. Java常用接口与类——String类、StringBuffer类、StringBuilder类

    >String的构造方式 //这两种方式字符串的值是相同的,但在内存中的地址不同: //s1是在常量池中,常量池中有一个hello,同一常量只会放入一次: String s1="hel ...

最新文章

  1. fsum函数测试以及分析
  2. cacti系列(一)之cacti的安装及配置监控mysql服务
  3. 动态规划各类问题分析——LeetCode习题精讲
  4. SpringMVC-文件上传
  5. addslashes注入漏洞与mb_addslashes
  6. html 脚本 gdi,基于gdi的简单画图
  7. 北理工的石锅饭依然美味
  8. LeetCode 要记得一些小trick
  9. vfp python_Visual Fox Pro和Python
  10. 基于opencv的简单数字识别
  11. liunx机器开放8080端口
  12. rtmp协议发送mp3和aac裸流的方法
  13. 恭喜!公积金将按月提取!12月31日前,全面执行!
  14. [置顶]封闭环境下的人性博弈——长文纪念诺兰的蝙蝠侠三部曲
  15. 讲讲Python爬虫绕过登录的小技巧
  16. uniapp调用地图并导航
  17. 和尚挑水安排(回溯问题)
  18. 小朋友把游戏藏在计算机里,如何设置孩子玩电脑游戏的时间
  19. 一下科技:未来短视频行业发展呈四大趋势
  20. diy写字机器人_Mini Telegraph开源电报机创客DIY机械臂写字机器人小贱钟表白

热门文章

  1. 为什么那么多人工作都不开心?
  2. 【流媒體】jrtplib—VS2010 下RTP开源协议库JRTPLIB3.9.1编译
  3. SQL查询效率注意事项
  4. 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
  5. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )
  6. 【错误记录】Git 使用报错 ( git: ‘switch‘ is not a git command. See ‘git --help‘. )
  7. 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 完整代码示例 )
  8. 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
  9. 008 python接口 unittest
  10. 利用浏览器LocalStorage缓存图片,视频文件