博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java字符串与基础混淆
阅读量:4697 次
发布时间:2019-06-09

本文共 1479 字,大约阅读时间需要 4 分钟。

  java字符串是一个类,是java虚拟机在启动的时候会实例化9个对象池,其中9个对象池分别用来存储8种基本数据类型(int,float,double,byte,boolean,short,long,char)的包装类和String对象。

  Java String创建对象有两种方式,其中一种是通过直接创建:String str1="Stringhello",另外一种是通过构造函数:String str2=new String("stringhello");前者是通过在对象池里面取对象,后者是直接生成的一个对象。String str3="111";  String str4="111"; system.out.println(str3==str4);==>>输出为:true.这是因为str3和str4都是通过对象池获取,然而通过String str5=new String("111");system.out.println(str3==str5);==>>输出为:false.这是因为str3是通过对象池获取,而str5是直接创建,故而性质不同;

  == :这种比较方法引用性质要相同才是true,而equal()方法则只需要值相同即可。

String与StringBuffer的区别

* 对String类来说,它实现了父类的equals方法,比较的是字符串值的大小;而StringBuffer则不一样,它并没有实现equals方法,

* 而是将俩个引用直接比较,所以sb.equals(tb)输出false。hashcode()方法也是一个道理。
* 特别要说的是, 一个类的equals方法和hashcode方法必须一致,例如:x.equals(y)为true;那么x.hashcode()和y.hashcode()就必须相同。

String类标示内容不可以改变的字符串,StringBuffer类标示内容可以被修改的字符串。

String覆盖了equals方法和hashCode方法,二StringBuffer没有覆盖equals方法和hashCode方法;

String s="abc";

String t=new String("abc");
System.out.println(s==t); false
System.out.println(s.equals(t));true
System.out.println(s.hashCode()==t.hashCode());true

StringBuffer sb=new StringBuffer("abc");

StringBuffer tb=new StringBuffer("abc");
System.out.println(sb==tb);false
System.out.println(sb.equals(tb));false
System.out.println(sb.hashCode()==tb.hashCode());false

 

final、finally与finalize的区别

final用于声明属性,方法和类,分别表示属性不可变方法不可覆盖类不可继承。内部类要访问局部变量,局部变量必须定义final类型。

finally是异常处理语句结构的一部分表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候回调用被回收对象的此方法。

转载于:https://www.cnblogs.com/cqyy/p/7274985.html

你可能感兴趣的文章
第30节:Java基础-内部类
查看>>
Apache中RewriteCond规则参数介绍
查看>>
P1983 车站分级
查看>>
selenium去掉下载弹窗
查看>>
psp软件设计需求分析
查看>>
[Spark][Python]DataFrame select 操作例子
查看>>
增强学习————K-摇臂赌博机
查看>>
Latex Tips:
查看>>
chrome 开发者工具,查看元素 hover 样式
查看>>
多校题解
查看>>
HackerRank Extra long factorials
查看>>
js和jquery的基本应用
查看>>
Vanilla Masker – 功能强大的输入过滤插件
查看>>
imagesLoaded – 检测网页中的图片是否加载
查看>>
1005 Number Sequence(HDU)
查看>>
Mono For Android离线激活
查看>>
20135302魏静静Linux内核分析第二周学习总结
查看>>
XML文件中<return_code><![CDATA[SUCCESS]]></return_code>中CDATA的用法
查看>>
《重构:改善既有代码的设计》重构的方法整理
查看>>
HBase工程师线上工作经验总结----HBase常见问题及分析
查看>>