当前位置:编程学习 > JAVA >>

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和下标得到。这就是我的理解,谢谢! --------------------编程问答--------------------
引用 1 楼 Loveliuhen 的回复:
"想找 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提供了编译时对数组下标越界的检查,有助于尽早发现此类错误,而不必等到程序运行时报错才发现。 --------------------编程问答--------------------
引用 2 楼 Justme0 的回复:
引用 1 楼 Loveliuhen 的回复:
"想找 b 所在数组的后1个元素"首先您这个说话就是错误的b只是一个A对象,而且你b又未放入数组中
我估计您的意思是得arr数组中其他对象,这只能根据arr和下标得到。这就是我的理解,谢谢!
那这感觉真没C++方便了,如果现在有个引用指向数组中某个元素,却很难找到它的下标了(如果程序很长),现在要找它的后一元素都不行;Java数组用某个元素必须通……

不错,必须要这样。 --------------------编程问答--------------------
引用 3 楼 miaowhehe 的回复:
a和b都是A的对象,他们本身的位置并不在arr数组中。要想根据b的值,得到数组中下一个元素的值,当然要先在数组中查找到值和b相等的元素,然后再根据它的索引找到下一个元素。在C++中也是这样做的。

楼主心里想的b应该是这个样子的吧:
Java code?1A[] b = arr;
这个b的arr用法完全相同,都需要使用下标来访问元素,而不能出现b++这种操作。C+……


我也想了很久,由此可以看出 Java 的安全性。
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,