由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 折腾了一天,实在是绝望了,请教请教
相关主题
请教一个简单的问题增加点难度 java core
简单问题NullPointerException 问题
interesting问个primitive type的问题
一道java面试题 (转载)java beginner question
这段程序的输出是什么? 为什么java String
菜鸟问个简单的问题新手求助,急急急!!!
初学者code请教 (大牛莫取笑)help "java.lang.NoSuchMethodError"
问一个java基础的初始化的问题,一直搞不明白 (转载)overloading methods
相关话题的讨论汇总
话题: vector话题: mydate话题: string话题: import话题: initvector
进入Java版参与讨论
1 (共1页)
o****h
发帖数: 58
1
改编了一个小版本,以便您阅读,
问题可能出在Vector class 的add()method,
当add 自己的object(这里指myDate)时,会将Vector前面的元素重写。
而add 什么String 之类则不会。
import java.io.*;
import java.util.*;
import java.lang.*;
public class newVector{
public static void main(String[] args) {
Vector A=new Vector(10,1);
char[] B={'M','T','W','R','F'};
int[] C={1,2,3,4,5};
A=initVector(B,C);
}
public static Vector initVector(char[] B, int[] C) {
myDate md=new myDate();
Vector A=new Vector(10,1);
for
p*****e
发帖数: 5165
2

帮说详细一点,就是原程序中md是在循环外面new的,
md里面保留的呢,就是这个new操作得到的结果,是
一个地址。
你往A里面add的呢也就是这个地址,所以你每次更新
md,java帮你把md指向的那个地址那里的数据呢就给
改了。在A里面所有加进去的object都指向md指向的地址,
所以呢它们的内容也就改了。比如你循环结束的时候看
A里面的东东都是B[4],C[4]。
所以gas哥哥就建议你每次new一个。你的原文中说
String没有这样的问题,可能你写的是A.add("haha"+i);
实际上这相当于A.add(new String("haha"+i)).
1 (共1页)
进入Java版参与讨论
相关主题
overloading methods这段程序的输出是什么? 为什么
新手请教一个问题菜鸟问个简单的问题
java,多层map应该怎么写?求个葫芦初学者code请教 (大牛莫取笑)
问一简单的问题 关于import问一个java基础的初始化的问题,一直搞不明白 (转载)
请教一个简单的问题增加点难度 java core
简单问题NullPointerException 问题
interesting问个primitive type的问题
一道java面试题 (转载)java beginner question
相关话题的讨论汇总
话题: vector话题: mydate话题: string话题: import话题: initvector