首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >J2me RecordStore错误: java.lang.NullPointerException: 0-在下面的代码中有什么问题

J2me RecordStore错误: java.lang.NullPointerException: 0-在下面的代码中有什么问题
EN

Stack Overflow用户
提问于 2011-10-28 18:51:47
回答 2查看 1.2K关注 0票数 0

下面显示的函数有什么问题吗?我在调试器中运行此代码时发现的唯一错误是"java.lang.NullPointerException: 0“。我把最后的几个小时浪费在搞清楚“是什么导致了这个错误”,有人来帮忙吧。

代码语言:javascript
运行
复制
 public String[] addRECORD(String mydata){
            String[] output = null;
        try {
            RecordStore rs = null;
            String sb = null;
            RecordStore.openRecordStore(REC_STORE, true);
            if (mydata.equals("Logged")) {
                      byte[] recData = new byte[5];
                      int len;
                      for(int i = 1; i <= rs.getNumRecords(); i++){
                          if(rs.getRecordSize(i) > recData.length){
                          recData = new byte[rs.getRecordSize(i)];
                          }
                          len = rs.getRecord(i, recData, 0);
                          sb += new String(recData, 0, len);
                      }
                if (sb != null) {
                    output[0] = "rexists";
                    output[1] = sb.trim();
                } else {
                    output[0] = "notlogged";
                    output[1] = sb.trim();
                }
            }else{
                  byte[] rec = mydata.getBytes();
                  try{
                  rs.addRecord(rec, 0, rec.length);
                  }catch (Exception e){}
                    output[0] = "radded";
                    output[1] = mydata;
                }
                rs.closeRecordStore();
        } catch (RecordStoreException ex) {
            responder(ex.getMessage());
        }
            return output;
    }
EN

Stack Overflow用户

回答已采纳

发布于 2011-10-28 18:56:26

首先,如果传递给函数的字符串为Null,则可以在这里出现空指针异常。

代码语言:javascript
运行
复制
 if (mydata.equals("Logged")) {

将此更改为if ("Logged".equals(myData)) {

第二,Null指针异常可以出现在这里,不能调用空对象上的函数。

代码语言:javascript
运行
复制
for(int i = 1; i <= rs.getNumRecords(); i++){

初始化rs

第三个NUll指针异常可以出现在这里

代码语言:javascript
运行
复制
output[0] = "rexists";
output[1] = sb.trim();

由于数组输出未初始化,所以将数组初始化为String [] output = new String[2]

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7933524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档