A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lvwangxiao 中级黑马   /  2016-3-15 23:53  /  815 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public Object[] validateUser(String username, String password) {
  2.                 //返回结果为一个数组,第一个元素为消息,第二个元素为状态码
  3.                 Object[] result = new Object[2];
  4.                 String message = "";
  5.          // 1代表登录成功,2代表登录失败
  6.                 int loginState = 0;

  7.                 // 校验用户名和密码 信息是否正确
  8.                 for (User user : UserData) {
  9.                         if (user.getUsername().equals(username)
  10.                                         && user.getPassword().equals(password)) {
  11.                                 message = "登录成功!";
  12.                                 loginState = 1;
  13.                                 // 组成结果
  14.                                 result[0] = message;
  15.                                 result[1] = loginState;
  16.                                 return result;
  17.                         }
  18.                 }

  19.                 message = "用户名或者密码错误!";
  20.                 loginState = 2;
  21.                 // 组成结果
  22.                 result[0] = message;
  23.                 result[1] = loginState;
  24.                 return result;
  25. }
复制代码


求解:哪位大神能帮我解释一下,为什么返回的是Object?

2 个回复

正序浏览
因为数组的两个数据类型是不一样的,result[0]是一个String,result[1]是一个int,为了能将他们存入一个数组,必须用他们的共同父类引用来接收,所以用object数组。

在使用的时候,可以用(String)result[0], (int)result[1]来强转类型
回复 使用道具 举报
不知道你想返回什么??难道你想返回定义的那两个值??首先你定义的object【】可以看作是一种数组类型,所以返回的也是一种数组类型,如果你想看到其结果,那只能在测试程序里用object对象接收一下,再输出到显示器上,也许就是你想要的结果了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马