例一: String s0="HF"; String s1=new String("HF"); System.out.println(s0==s1); 输入为什么是false呢? 例一解释: "=="表示的是地址是否相等.equals表示两个字符串的值是否相等,如果为s0.equals(s1)则返回true. 程序执行时,会在栈里分配两块空间s0 s1,在堆空间里存储对象.内存分配图如下: 例二: (1) String s1="123&…
  要判读String是否为空字符串,比较简单,只要判断该String的length是否为0就可以,或者直接用方法isEmpty()来判断. 但很多时候我们也会把由一些不可见的字符组成的String也当成是空字符串(e.g, space, tab, etc),这时候就不能单用length或isEmpty()来判断了,因为technically上来说,这个String是非空的.这时候可以用String的方法trim(),去掉前导空白和后导空白,再判断是否为空. 1public class Test…
String str1 = "ABC"; String str2 = new String("ABC"); String str1 = “ABC”;可能创建一个或者不创建对象,如果”ABC”这个字符串在java String池里不存在,会在java String池里创建一个创建一个String对象(“ABC”),然后str1指向这个内存地址,无论以后用这种方式创建多少个值为”ABC”的字符串对象,始终只有一个内存地址被分配,之后的都是String的拷贝,Java中称…
本节介绍JAVA里static和final的作用和使用方法以及一些需要注意的问题. 一.static static表示"全局"或"静态",用来修饰成员变量和成员方法,以及代码块. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享.只要这个类被加载,JAVA虚拟机就能根据类名在运行时数据区的演绎法我内找到它们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的st…
java里的static/final含义 static static可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类) static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变.因此static修饰的属性必须有初始值(数值型变量默认值为0,布尔型默认值为false,引用类型默认值为null).类加载后,存储在方法区(metaspace) static修饰的属性所有对象都只有一个值(但是多个实例都可以同时修改,因此不具有线程安全性). static修饰的属性强调(在多个实…
java里一共有八大数据类型 boolean(未定) char(2字节) byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节),还有与之对应的包装类 Boolean Character Byte Short Integer Long Float Double, 基本数据与包装类之间的转换叫做装箱与拆箱 Integer i = new Integer(10);//装箱这个在java1.5之前只能这样new一个出来 Intege…
为了更好理解java的日期时间类,在这里我们先介绍一下关于历法.标准时间的一些概念. 历法有很多种,我们大中华上下五千年,自然也有自己的历法,生活中我们通常把自己传统的历法叫做农历,也有人叫它阴历或夏历.注意,这个"夏历"的"夏"和"夏令时间"的"夏"不是一个含义."夏历"的"夏"是夏朝的"夏",因为据说我们现在使用的这套农历在我国上古时期的夏朝时就已经发展得很完备了…
JAVA里面的int类型 和Integer类型,有什么不一样 原文链接:http://blog.csdn.net/wuxinliulei/article/details/11099565 java.lang.Integer是一个类.对它的操作要通过类的方法 int是JAVA缺省的8中基本数据类型之一.不是类的对象. int是基本数据类型,Integer是对int进行了封装的一个类. 声明为int的变量不需要实例化,声明为Interger的变量需要实例化 int是基本类型,Integer是包装类,…
前些天面试遇到一个非常难的关于String的问题,"String为何被设计为不可变的"?类似的问题也有"String为何被设计为final?"个人认为还是前面一种问法更准确,设计成final仅仅保证了String类不能被继承,而Immutable相对于final要严格的多,关于对Immutable的理解可以参考这里. 下文主要翻译自:http://java67.blogspot.sg/2014/01/why-string-class-has-made-immutab…
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用,那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; int fuelcap; int mpg; } 有了这个模板,就可以用它来创建对象: Vehicle v…