gpt4 book ai didi

java - 在Java(j2me)中更改 vector 中的整数的正确方法是什么

转载 作者:行者123 更新时间:2023-12-02 08:37:03 24 4
gpt4 key购买 nike

作为我关于 j2me dynamic arrays 的问题的后续行动,

我现在正在尝试找出一种方法来更改 vector 中整数的值。

假设我有一个 vector v、数组 arr、以及整数 x、y 和 i;

在 C++ 中我可以这样做:

v[arr[x][y]] += i;

在 j2me 中,迄今为止我发现执行相同操作的最佳方法是:

v.setElementAt(new Integer(((Integer)(v.elementAt(arr[x][y]))).intValue()+i), arr[x][y]);

这真的是 j2me 的最佳方法吗?

如果是的话,这里出了什么问题? Java 应该让我“做更少的工作”和“为我做事”,但我发现自己一次又一次地为它做额外的工作。是我的问题,还是Java的问题?

编辑:我正在使用 J2me SDK 3.0看起来它是 Java 1.3,所以没有花哨的泛型和自动装箱之类的东西。

最佳答案

恐怕这就是我的情况,尽管我会把它分开以避免那毛茸茸的线条:

Integer val = (Integer)v.elementAt(arr[x][y]);
int newVal = val.intValue() + i;
v.setElementAt(new Integer(newVal), arr[x][y]);

自动装箱和泛型使事情变得更好,但它们出现在 Java 5 中,而 J2ME 基本上是 Java 1.3 的精简版本,除非我被误导了。下面是它在 Java 5+ 中的样子:

v.setElementAt(arr[x][y], v.get(arr[x][y]) + i);

仍然比 C++ 更冗长,但至少没有强制转换。我知道人们不愿意向 Java 添加泛型等,因为普通程序员可能“太难”理解[需要引用]。因此,我们最终得到了不可读的代码,直到 .Net 有了泛型并且 Sun 也加入了这股潮流。

任何人,我都同意在泛型/装箱之前使用集合框架很痛苦,但我希望至少您会喜欢不必调试损坏的指针和损坏的内存。

关于java - 在Java(j2me)中更改 vector 中的整数的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com