了解数组类型和使用java.util.Arrays类
来源:互联网 发布:cadence软件 编辑:程序博客网 时间:2024/05/14 13:49
Java的数组类型有一些特性值得注意,而如果经常使用数组类型,有必要了解java.util.Arrays这个类,它提供了几个有用的方法,下边是一段代码,使用了这个类的一些方法:
int[] a1 = {1, 2, 3, 4, 5};
int[] a2 = {1, 2, 3, 4, 5};
System.out.println("a1 == a2:/t" + (a1 == a2));
System.out.println("a1.equals(a2):/t" + (a1.equals(a2)));
System.out.println("Arrays.equals(a1, a2):/t" + Arrays.equals(a1, a2));
int hash1 = a1.hashCode();
int hash2 = a2.hashCode();
System.out.println("hash1 == hash2:/t"+(hash1==hash2));
int _hash1 = Arrays.hashCode(a1);
int _hash2 = Arrays.hashCode(a2);
System.out.println("Arrays.hashCode(a1) == Arrays.hashCode(a2):/t"+(_hash1==_hash2));
String s1 = a1.toString();
String s2 = a2.toString();
System.out.println("s1="+s1+",s2="+s2);
String _s1 = Arrays.toString(a1);
String _s2 = Arrays.toString(a2);
System.out.println("_s1="+_s1+",_s2="+_s2);
一般的建议是使用Arrays.equals,Arrays.hashCode,Arrays.toString方法,不然依赖数组的hashCode和equals功能的程序可能会失败,
下边是运行的结果:
a1 == a2: false
a1.equals(a2): false
Arrays.equals(a1, a2): true
hash1 == hash2: false
Arrays.hashCode(a1) == Arrays.hashCode(a2): true
s1=[I@de6ced,s2=[I@c17164
_s1=[1, 2, 3, 4, 5],_s2=[1, 2, 3, 4, 5]
java.util.Arrays这个类提供了针对基本类型和对象类型的上述方法的所有版本,也提供了针对对象数组的deepXXX方法,有兴趣的可以看一下。
下边是完整的源代码:
/**
*
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
private void test1() {
int[] a1 = {1, 2, 3, 4, 5};
int[] a2 = {1, 2, 3, 4, 5};
System.out.println("a1 == a2: " + (a1 == a2));
System.out.println("a1.equals(a2): " + (a1.equals(a2)));
System.out.println("Arrays.equals(a1, a2): " + Arrays.equals(a1, a2));
int hash1 = a1.hashCode();
int hash2 = a2.hashCode();
System.out.println("hash1 == hash2: "+(hash1==hash2));
int _hash1 = Arrays.hashCode(a1);
int _hash2 = Arrays.hashCode(a2);
System.out.println("Arrays.hashCode(a1) == Arrays.hashCode(a2): "+(_hash1==_hash2));
String s1 = a1.toString();
String s2 = a2.toString();
System.out.println("s1="+s1+",s2="+s2);
String _s1 = Arrays.toString(a1);
String _s2 = Arrays.toString(a2);
System.out.println("_s1="+_s1+",_s2="+_s2);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Main main = new Main();
main.test1();
}
}
- 了解数组类型和使用java.util.Arrays类
- java.util.Arrays类
- java.util.Arrays类
- java.util.Arrays类
- java.util.Arrays 类
- java.util.Arrays类
- java.util.Arrays使用例子
- 数组排序 java.util.Arrays类的sort方法
- Java数组和Arrays类
- java.util.Arrays.asList使用体会
- java.util.Arrays.asList使用体会
- java.util.Arrays之后,使用Arrays.copyOfRange方法
- 使用 Arrays 类操作 Java 中的数组
- 使用Arrays类操作Java中的数组
- 使用 Arrays 类操作 Java 中的数组
- 使用Java Arrays类进行数组排序
- 使用Arrays类操作Java数组
- 使用 Arrays 类操作 Java 中的数组
- 网络命令大全
- “COM应用程序框架” 四大内置功能之四《主题》
- :如何装扮自己的博客
- 解SQL Server“数据库维护计划
- C#中判断空字符串的3种方法性能分析
- 了解数组类型和使用java.util.Arrays类
- char* 和 char[]的区别:
- Strassen矩阵乘法(分治策略,java语言实现)
- 教你如何用TreeView树形菜单创建像CSDN左边那样的导航之一:如何安装配置TreeView
- 4.29C#学习
- str_replace(),使用数组一次调用替换多个字符串
- 百度的在线笔试题目【暂无答案】
- 背包的递归算法
- windows 2003 玩游戏 directx设置