Java学习知识点(一)equals 和==
1、TestDigitCount.javaString 里面的方法:valueof(); 返回值为int,Boolean类型 indexof(string); 返回第一次出现string的地方 replace(old str,new str); 替换功能split(“str”); 在数组中插入str2、TestEqual.java
1、TestDigitCount.java
String 里面的方法:valueof(); 返回值为int,Boolean类型
indexof(string); 返回第一次出现string的地方
replace(old str,new str); 替换功能
split(“str”); 在数组中插入str
2、TestEqual.java
第一种:基本数据类型(==)比较
int i1 = 2;
int i2 = 2; 输出结果: i1==i2
第二种:基本数据对象(==)比较
Integer i1 = new Integer(1);
Integer i2 = new Integer(1); 输出结果:i1 != i2
第三种:基本数据对象(equals)比较 //equals针对的是对象之间的对等比较
Integer i1 = new Integer(1);
Integer i2 = new Integer(1); 输出结果:i1.equals(i2)
第四种:引用类型对象(equals)比较
Mao m1 = new Mao("A", "A");
Mao m2 = new Mao("A", "A"); 输出结果:m1 not equals(m2)
亦或:
Mao m1 = new Mao("A");
Mao m2 = new Mao("A"); 数据结果:m1 not equals(m2)
第五种:引用类型对象(==)比较
Mao m1 = new Mao("A", "A");
Mao m2 = new Mao("A", "A"); 输出结果:m1 !=m2
总结:
“==” 比较的是首地址引用(首地址指向的是同一个值,就是==)
“equals” 对于数值对象比较的是引用的值
对于引用对象比较的是地址和内容
3、TestInterface.java
遇到错误提示:No enclosing instance of type TestInterface is accessible. Must qualify the allocation with an enclosing instance of type TestInterface (e.g. x.new A() where x is an instance of TestInterface).
解决办法:原来我写的内部类是动态的,也就是开头以class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以解决办法是 class改为static class.
4、static使用方法及优缺点(这位大神整理较为详细,故留下网址以备后续查看,若有侵权,请私信,谢谢):http://www.cnblogs.com/aooyu/archive/2009/11/09/1598846.html
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)