Java 类数组与引用的问题
请教大家一个 Java 的问题:class A {}
A[] arr = new A[10];
A a = arr[2];
A b = a;
现在知道 b,想找 b 所在数组的后1个元素,是不是还必须用到 arr 和下标呢?不能直接b+1得到?是不是没C++方便? Java c++ --------------------编程问答-------------------- "想找 b 所在数组的后1个元素"首先您这个说话就是错误的b只是一个A对象,而且你b又未放入数组中
我估计您的意思是得arr数组中其他对象,这只能根据arr和下标得到。这就是我的理解,谢谢! --------------------编程问答--------------------
那这感觉真没C++方便了,如果现在有个引用指向数组中某个元素,却很难找到它的下标了(如果程序很长),现在要找它的后一元素都不行;Java数组用某个元素必须通过数组名和下标形式? --------------------编程问答-------------------- a和b都是A的对象,他们本身的位置并不在arr数组中。要想根据b的值,得到数组中下一个元素的值,当然要先在数组中查找到值和b相等的元素,然后再根据它的索引找到下一个元素。在C++中也是这样做的。
楼主心里想的b应该是这个样子的吧:
A[] b = arr;
这个b的arr用法完全相同,都需要使用下标来访问元素,而不能出现b++这种操作。C++中指向数组的指针如果使用不够小心的话很容易数组访问越界。Java提供了编译时对数组下标越界的检查,有助于尽早发现此类错误,而不必等到程序运行时报错才发现。 --------------------编程问答--------------------
不错,必须要这样。 --------------------编程问答--------------------
我也想了很久,由此可以看出 Java 的安全性。
补充:Java , Java相关