java类的调用,在程序中调用类,该类的参数是实体类数组要怎么才能调用这个类

zhouleilei3 2011-08-07 12:13:59
被调用的类NameHelper:
public long[] addName(
NameString[] nameString, String accountName, String accountType) {}这样的一个类,
NameString实体类是这样的:
public class NameString{

public long mId; // 本地id
public String mServerId; // 服务器id
public long mModifyTime; // 修改时间

// 名字相关
public String mDisplayName;
public String mGivenName;
public String mFamilyName;
public String mMiddleName;
}
要在另一个类中调用addName这个方法,那么要怎样才可以呢?
NameHelper nr = new NameHelper();
nr.addName(?,"zl@","22");要怎样才可以调用?







...全文
310 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
求解、、、、、
zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
这个NameString实体类是这样的

public class NameString{

public long mId; // 本地id
public String mServerId; // 服务器id
public String mOperation; // 操作方式
public long mModifyTime; // 修改时间

// 名字相关
public String mDisplayName;
public String mGivenName;
public String mFamilyName;
public String mPrefix;
public String mMiddleName;

// 电话
public Phone[] mPhone;

// 邮箱
public Email[] mEmail;

}这样的一种情况,Phone还有一个类的。

zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 magong 的回复:]
引用 8 楼 zhouleilei3 的回复:

我在NameString这个类中进行了测试,查看那边传递过来的值
System.out.println("nameString:" + nameString);的时候打印显示的是
nameString:[Landroid.test.NameString;@44c34d68]这样对吗?

对的。
想要打印zl需要这样写:
System……
[/Quote]
谢谢,这么耐心的解答!!!thanks
zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qybao 的回复:]
引用 9 楼 zhouleilei3 的回复:
NameString item = new NameString();
item.mDisplayName = "zl";已经给出了内容了
打印的时候为什么不是直接打出"zl"呢?

数组打印,一般要用Arrays.toString(nameString);这样的方法
其次,使用该方法还有一个前提,就是要重写NameString的toSt……
[/Quote]
谢谢,我知道了,要更加努力的学习java了
qybao 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhouleilei3 的回复:]
NameString item = new NameString();
item.mDisplayName = "zl";已经给出了内容了
打印的时候为什么不是直接打出"zl"呢?
[/Quote]
数组打印,一般要用Arrays.toString(nameString);这样的方法
其次,使用该方法还有一个前提,就是要重写NameString的toString方法
否则,就只能自己用循环,按一个一个元素的属性打印
qybao 2011-08-07
  • 打赏
  • 举报
回复
那你自己要准备好一个NameString数组才能调用该方法
怎么准备这个数组,最原始的方法就是自己new,方法就像LS说的
不过我觉得你的程序应该有提供某个方法返回NameString数组的,因为NameString的信息看上去不是个人手动填充的,LZ再好好看看其他地方有没有返回NameString数组的方法。
magong 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhouleilei3 的回复:]

我在NameString这个类中进行了测试,查看那边传递过来的值
System.out.println("nameString:" + nameString);的时候打印显示的是
nameString:[Landroid.test.NameString;@44c34d68]这样对吗?
[/Quote]
对的。
想要打印zl需要这样写:
System.out.print( nameString[0].mDisplayName );
magong 2011-08-07
  • 打赏
  • 举报
回复
方法参数先new好。

NameString item = new NameString();
item.mId = xxx;
item.mServerId = "xxx";
...
NameString[] items = new NameString[xxx];
items[0] = item;
...
nr.addName(items, "zl@", "22");
zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
NameString item = new NameString();
item.mDisplayName = "zl";已经给出了内容了
打印的时候为什么不是直接打出"zl"呢?
zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
我在NameString这个类中进行了测试,查看那边传递过来的值
System.out.println("nameString:" + nameString);的时候打印显示的是
nameString:[Landroid.test.NameString;@44c34d68]这样对吗?
magong 2011-08-07
  • 打赏
  • 举报
回复
new NameString[xxx]
xxx是整型值,表示数组的长度。
zhouleilei3 2011-08-07
  • 打赏
  • 举报
回复
是要传递内容进去的,这个被调用的方法就是添加的,null的话就什么都没有了。本人刚学,比较菜所以想问下magong:

NameString item = new NameString();
item.mId = xxx;
item.mServerId = "xxx";
...
NameString[] items = new NameString[xxx];
items[0] = item;
...
nr.addName(items, "zl@", "22");
这段代码中
NameString[] items = new NameString[xxx];
这个xxx要什么样的内容啊,是指定的类型吗?
magong 2011-08-07
  • 打赏
  • 举报
回复
如果null值合法的话,就写null作为参数。
null倒是和各种类型的参数都兼容的,要是这样就方便了。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧