初学android开发,在学习到回显数据的时候视频中呈现代码如下为什么定义的返回值为null请问这部分对应的是java哪部分的知识。拜托各位帮帮我啦~~~
如果如你所说,那么你拿到的userinfoMap肯定是空的,可以打个log验证一下。返回null,跟能不能调用没什么关系。只要方法存在并且是可被调用的就可以调用。
看一下Utils这个类有没有继承上面那个类,并重写了那个方法
null是空指针啊,通常是得不到有效结果才返回null。存在null时往往需要非空判断,否则容易抛出NullPointerException。
执行这行代码前text.split("##"),建议先进行text是否包含"##"的判断,这样if(!TextUtils.isEmpty(text) && text.contains("##"))。
另外里面的Map好像没用到,有值应该返回map,否则才返回null
Utils中的get方法肯定要获取用户信息才能回显啊!!!你获取的是空值啊
首先你要确定text是否有值。。
确定下 你问的是为什么会return null这个问题吗?因为这个程序中需要返回值,所以你应该有返回值或者返回null,因为你这个函数中最外层没有变量,所以这个函数不知道给你返回什么,所以默认返回null。
你应该教学视屏没看全。你应该看的是使用内部存储或外部存储去缓存数据。我猜你文件保存的格式是: 用户名##密码
回显时:
1、使用IO流 获取到字符串,也就是你的text
2、使用 split(“##”)切割。 所以你的split[0]是你的用户名, split[1]是你的密码
3、你重新创建了一个 HashMap,其实这里应该是还要把你的 split[0] 和 split[1]. 传进去userInfoMap里。然后再将他 return 出来。
所以你没看全,到最后教学视频里应该会将null改为 userInfoMap。
然后解释为什么要先 return null。因为还不知返回什么,就先写 返回null。java有编译时,在编译时时。系统就看到你的方法需要有返回值。但是你不知道返回什么,所以就先写个null,因为没有返回值会报错。