概述
一、求长度
length属性,length()方法和size()的方法的区别和用法。
package cn.itcast;
import java.util.ArrayList;
import java.util.List;
public class Test{
public static void main(String args[]) {
/*length属性是针对数组说的,返回数组的长度*/
String[] b = {"Mick", "Lily", "Kevin"};
System.out.println(b.length); //3
/*length()方法是针对字符串String说的,返回字符串的长度*/
String a = "Mike,Lily,Kevin";
System.out.println(a.length()); //15
/*size()方法是针对泛型集合说的,返回集合中元素的个数*/
List<String> c = new ArrayList<String>();
c.add("Mike");
c.add("Lily");
c.add("Kevin");
System.out.println(c.size());//3
}
}
总结:
length属性是针对数组说的,返回数组的长度
length()方法是针对字符串String说的,返回字符串的长度
size()方法是针对泛型集合说的,返回集合中元素的个数
二、比较
==与equals区别和用法
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同。
比如2个字符串对象
String s1 = newString("str");
String s2 = newString("str");
如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。
equals的情况比较复杂,它是java.lang.Object类中的一个方法。因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。
Java源代码Object类中如是定义:
public boolean equals(Object obj) {
return (this == obj);
}
同样使用==号进行内存地址的比较。但是许多java类中都重写了这个方法,比如String
Java源代码String类中如是定义:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
String里的方法,如果==号比较不相等,还会进行一下值的比较。
总结:
==用于比较变量所对应的内存中所存储的数值是否相同
equals方法具体的作用要看当前的那个类是如何实现重写父类中该方法的。如果没有重写该方法,那么他和==号等价。
最后
以上就是痴情台灯为你收集整理的Java中的求长度及比较的全部内容,希望文章能够帮你解决Java中的求长度及比较所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复