Ruby vs Java -- "== 与 equal"
来源:互联网 发布:mac flash发热 编辑:程序博客网 时间:2024/05/02 20:33
Ruby vs Java
该文档包含ruby与java的异同比较
阅读文档,你将了解:
- == 与 equal 的区别
- 重写与重载
Difference between “==” and “equal”
NOTE:
ruby为弱类型语言,java为强类型语言。最基本的区别就是,ruby容忍隐式转换。
ruby中一切皆对象,java中基本类型的不具备对象特性
ruby
ruby: String 类中 ‘==’ 和 ‘equals?’ 方法
NOTE:
“==”比较字符串中所包含的内容是否相同。
“equals()”比较两个变量本身的值,即两个对象在内存中的首地址。
s1 = "axu"s2 = "axu"s3 = s2s1 == s2 # => trues1.equal? s2 # => falses3 == s2 # => trues3.equal? s2 # => true
java
java: 类中 ‘==’ 和 ’equal’ 方法
NOTE:
1. 对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
2. 对于非字符串变量来说,”==”和”equals”方法的作用是相同的都是用来比较其
对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
public class Demo20171122 { public static void main(String args[]){ String s1, s2; String s3 = "axu", s4 = "axu"; s1 = new String("axu"); s2 = new String("axu"); StringBuffer s5 = new StringBuffer("axu"); StringBuffer s6 = new StringBuffer("axu"); if(s1 == s2) { System.out.println("================"); System.out.printf("s1 == s2"); System.out.println("类型:s1:" + s1.getClass().toString() + " \ns2: " + s1.getClass().toString() ); }else{ System.out.println("================"); System.out.println("s1 != s2"); System.out.println("类型:s1:" + s1.getClass().toString() + " \ns2: " + s1.getClass().toString() ); } if(s3 == s4){ System.out.println("================"); System.out.println("s3 == s4"); System.out.println(s3.getClass().toString()); System.out.println("类型:s3:" + s3.getClass().toString() + " \ns4: " + s4.getClass().toString() ); }else{ System.out.println("================"); System.out.println("s3 != s4"); System.out.println("类型:s3:" + s3.getClass().toString() + " \ns4: " + s4.getClass().toString() ); } if(s5 == s6) { System.out.println("================"); System.out.printf("s5 == s6"); System.out.println("类型:s5:" + s5.getClass().toString() + " \ns6: " + s6.getClass().toString() ); }else{ System.out.println("================"); System.out.println("s5 != s6"); System.out.println("类型:s5:" + s5.getClass().toString() + " \ns6: " + s6.getClass().toString() ); } if(s1.equals(s2)){ System.out.println("================"); System.out.println("s1 equals s2"); System.out.println("地址:s1: " + System.identityHashCode(s1) + " \ns2: " + System.identityHashCode(s2)); }else{ System.out.println("================"); System.out.println("s1 not equals s2"); System.out.println("地址:s1: " + System.identityHashCode(s1) + " \ns2: " + System.identityHashCode(s2)); } if(s3.equals(s4)){ System.out.println("================"); System.out.println("s3 equals s4"); System.out.println("地址:s3: " + System.identityHashCode(s3) + " \ns4: " + System.identityHashCode(s4)); }else{ System.out.println("================"); System.out.println("s3 not equals s4"); System.out.println("地址:s3: " + System.identityHashCode(s3) + " \ns4: " + System.identityHashCode(s4)); } if(s5.equals(s6)){ System.out.println("================"); System.out.println("s5 equals s6"); System.out.println("地址:s5: " + System.identityHashCode(s5) + " \ns6: " + System.identityHashCode(s6)); }else{ System.out.println("================"); System.out.println("s5 not equals s6"); System.out.println("地址:s5: " + System.identityHashCode(s5) + " \ns6: " + System.identityHashCode(s6)); } }}
输出:
i1 != i21625635731================s1 != s2类型:s1:class java.lang.String s2: class java.lang.String================s3 == s4class java.lang.String类型:s3:class java.lang.String s4: class java.lang.String================s5 != s6类型:s5:class java.lang.StringBuffer s6: class java.lang.StringBuffer================s1 equals s2地址:s1: 1580066828 s2: 491044090**********************97054================s3 equals s4地址:s3: 644117698 s4: 644117698================s5 not equals s6地址:s5: 1872034366 s6: 1581781576
阅读全文
1 0
- Ruby vs Java -- "== 与 equal"
- java equal 与==详谈
- java:== 与equal 区别
- java equal与==的区别
- java中equal与“==”区别
- java 中的== 与equal
- 【Java】equal与==的区别
- java---equal 与 == 区别
- ==与equal
- equal与==
- java中,==与equal是不一样哦(注意)
- java中 == 与 equal 的区别
- java中 == 与 equal 的区别
- Java编程语言之equal与 == 的区别
- Java中==与equal的区别
- java中 == 与 equal 的区别
- 【java基础】String中的equal与==的区别
- java中 == 与 equal 的区别
- ParttiTion List 划分链表
- 动态绑定按钮点击事件
- XListView
- 如何批量重命名照片,但是去掉那个烦人的括号
- 第一个c语言程序
- Ruby vs Java -- "== 与 equal"
- CUDA学习资源
- OCR 中文汉字识别,可用于文档识别,身份证识别,名片识别,采用字库+卷积神经网络
- GreenDao存集合类型数据
- 二维数组的查找
- HDOJ 今年暑假不AC JAVA 2037
- Python实现冒泡排序
- 树莓派3代b型静态IP设置,和ssh的wlan配置
- SOCKET的长连接与短连接