nullITeye - 众发娱乐

nullITeye

2019年03月05日15时01分26秒 | 作者: 起运 | 标签: | 浏览: 423

Java程序中测验两个变量是否持平的两个办法:一种是运用运算符,另一种是运用equals办法。

当运用来判别两个变量是否持平时,假如两个变量是根本类型变量,且都是数据类型(不一定要求数据类型严厉相同),则只需两个变量的值持平。就将回来true。

但假如是两个引证类型变量,它们有必要指向同一个目标时,判别才会回来true。不行用于比较类型上没有父子联系的两个目标。

 

public class EqualTest
 public static void main(String[] args) 
 int it = 65;
 float fl = 65.0f;
 //将输出true
 System.out.println("65和65.0f是否持平?" + (it  fl));
 char ch = A;
 //将输出true
 System.out.println("65和A是否持平?" + (it  ch));
 String str1 = new String("hello");
 String str2 = new String("hello");
 //将输出false
 System.out.println("str1和str2是否持平?"
 + (str1  str2));
 //将输出true
 System.out.println("str1是否equals str2?"
 + (str1.equals(str2)));
 //因为java.lang.String与EqualTest类没有承继联系,
 //所以下面句子导致编译过错
 System.out.println("hello"  new EqualTest());
}

JVM常量池确保相同的字符串直接量只要一个,下面是JVM运用常量池办理字符串直接量的景象:

public class StringCompareTest
 public static void main(String[] args) 
 //s1直接引证常量池中的"张狂Java"
 String s1 = "张狂Java";
 String s2 = "张狂";
 String s3 = "Java";
 //s4后边的字符串值能够在编译时就断定下来
 //s4直接引证常量池中的"张狂Java"
 String s4 = "张狂" + "Java";
 //s5后边的字符串值能够在编译时就断定下来
 //s5直接引证常量池中的"张狂Java"
 String s5 = "疯" + "狂" + "Java";
 //s6后边的字符串值不能在编译时就断定下来,
 //不能引证常量池中的字符串
 String s6 = s2 + s3;
 //运用new调用结构器将会创立一个新的String目标,
 //s7引证堆内存中新创立的String目标
 String s7 = new String("张狂Java");
 //输出true
 System.out.println(s1  s4);
 //输出true
 System.out.println(s1  s5);
 //输出false
 System.out.println(s1  s6);
 //输出false
 System.out.println(s1  s7);
}

 

 

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章