当前位置: 首页 > news >正文

如何设计一个好网站今日头条新闻下载安装

如何设计一个好网站,今日头条新闻下载安装,做搜狗网站点击赚钱,创胜网络科技有限公司1. Java中数据类型分类1.1 基本数据类型又称为原始数据类型,byte,short,char,int,long,float,double,boolean,他们之间的比较应该使用(),比较的是他们的值。1.2 复合数据类型当复合数据类型用(&…

1.  Java中数据类型分类

1.1    基本数据类型

又称为原始数据类型,byte,short,char,int,long,float,double,boolean,他们之间的比较该使用(==,比较的是他们的值

1.2    复合数据类型

当复合数据类型用(==)进行比较,比较的是他们在内存中的存放地址。下面介绍equals方法

 在JavaObject类中定义了equals方法,当复合数据类型之间进行equals比较时这个方法的初始行为是比较对象在堆内存中的地址,但在一些诸如String,Integer,Date类中这个方法被覆盖了,在这些类当中equals有其自身的实现,作用被覆盖为比较内容是否相同

本文原创,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52089040


2.  String类的讨论

String s1 = "Hello";
String s2 = "Hello";
if (s1 == s2){System.out.println("s1 == s2");
}else{
System.out.println("s1 != s2");
}
输出:s1 == s2

说明:双等号在进行复合数据类型比较时,比较的是内存中的存放地址。因此s1s2引用同一个String对象。

String s1 = "Hello";
String s2 = new String("Hello");
if (s1 == s2){
System.out.println("s1 == s2");
}else{
System.out.println("s1 != s2");
}
if (s1.equals(s2)) {
System.out.println("s1 equals s2");
}else{
System.out.println("s1 not equals s2");
}

输出:
s1 != s2
s1 equals s2
说明:s1 s2分别引用了两个对象。显然,两者内容是相同的,因此equal返回true。第一个例子也一样。

我们接下来将详细讨论,为什么在上面两个例子中,s1s2出现了两种不同的指向对象的情况。


3.   解释

String str = new String("abc"); 
String str = "abc"; 

两种的形式来创建,第一种是用new()来新建对象的,那么这种情况的内存是怎么分配的呢,答案是在堆空间字符串常量池中。每调用一次就会在堆中创建一个新的对象,如果常量池中已经存在"abc",那么就不会额外在常量池中生成引用。因此这句话会产生一个或者两个对象

而第二种是先在常量池中创建一个对String类的对象引用变量str,然后查找常量池中有没有存放"abc",如果没有,则将"abc"存放并令str”abc”,如果已经有”abc”则直接令str指向“abc” 

由于String类的immutable性质,当String变量需要经常变换其值时,应该考虑使用StringBuffer类,以提高程序效率。 

具体可以查看此篇String、StringBuider以及StringBuffer的区别和使用场景。


4.  String类的intern方法

String s1 = "Hello";
String s2 = new String("Hello");
s2 = s2.intern();
if (s1 == s2){
System.out.println("s1 == s2");
}else{
System.out.println("s1 != s2");
}
if (s1.equals(s2)) {
System.out.println("s1 equals s2");
}else{
System.out.println("s1 not equals s2");
}

程序输出:
s1 == s2
s1 equals s2
这次加入:s2 = s2.intern()java.lang.Stringintern()方法"abc".intern()方法的返回值还是字符串"abc",表面上看起来好像这个方法没什么用处。但实际上,它做了个小动作:检查字符串池里是否存在"abc"这么一个字符串,如果存在,就返回池里的字符串;如果不存在,该方法会把"abc"添加到字符串池中,然后再返回它的引用。但是这也仅仅是JDK1.6以及以前的过时的处理方法,如果想了解更全更清晰的intern()方法,请务必参考我的这篇博文Java技术——你真的了解String类的intern()方法吗


5.  为什么Java1000==1000false100==100true

Integer i1 = 100,i2 = 100;
System.out.println(i1==i2);
Integer i3 = 1000,i4 = 1000;
System.out.println(i3==i4);

查看Integer.java类,会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象。

所以例子中i1i2指向了一个对象。因此100==100true


转载于:https://www.cnblogs.com/qitian1/p/6461589.html

http://www.lbrq.cn/news/2535805.html

相关文章:

  • 那个网站专门做婚纱相册武汉做搜索引擎推广的公司
  • 做预算需要关注哪些政府网站项目推广网站
  • asp网站建设实录石家庄做网站推广排名的公司
  • 益阳网站开发百度贴吧网页版登录
  • 哈尔滨快速网站排名刷关键词怎么刷
  • wordpress 连接丢失广州seo培训
  • 做网站用虚拟主机怎么样淘宝关键词挖掘工具
  • wordpress 地区联动seo数据分析
  • 福州市有哪些制作网站公司营销型外贸网站建设
  • 廊坊做网站企业教程企业网站建设公司
  • 网站建设目标概括友情链接怎么连
  • 济南mip网站建设谷歌广告推广
  • 有没有免费网站制作怎么推广app
  • 网站内容更新教程软文营销名词解释
  • dede中英文网站切换守游网络推广平台
  • 中英文网站模板源码怎么做市场营销和推广
  • 游戏app平台排行榜百度seo竞价推广是什么
  • wordpress怎么弄tagseo推广优化
  • 体育器材网站模板全媒体运营师培训机构
  • 没后台的网站怎么做优化培训
  • 棋牌游戏在哪做网站seo优化网站百度技术
  • 网站建设费用的财务核算抖音seo排名软件
  • 买了个区域名怎么做网站今天
  • 做钓鱼网站视频剪辑培训机构哪个好
  • js网站繁体seo标题关键词怎么写
  • 网站开发 mac新闻最近新闻10条
  • 获奖网站设计宣传推广网络推广
  • 新能源汽车车型及报价百度seo关键词优化排行
  • 商城界面设计班级优化大师的利和弊
  • asp网站管理系统公司全网推广
  • STM32——HAL 库MDK工程创建
  • Excel文件解析
  • 【抄袭】思科交换机DAI(动态ARP监控)配置测试
  • 【go】字符串操作
  • Java试题-选择题(2)
  • Python 程序设计讲义(45):组合数据类型——集合类型:集合的常用操作