j2me函数java.lang.nullpointerexception-这有什么不对?

j2me函数java.lang.nullpointerexception-这有什么不对?,java,java-me,java.lang.class,Java,Java Me,Java.lang.class,昨天晚上,我编写了这个函数来从包含xml数据的字符串中获取所有标记,但在这个函数中有些地方不正确。。。请帮忙。。。此函数返回java.lang.NullPointerException public void parseWebXML(String xd){ int i, j, k = 0; String tagn, check = ""; int spos, epos; byte[] len = xd.getBytes(); tag

昨天晚上,我编写了这个函数来从包含xml数据的字符串中获取所有标记,但在这个函数中有些地方不正确。。。请帮忙。。。此函数返回java.lang.NullPointerException

  public void parseWebXML(String xd){
      int i, j, k = 0;
      String tagn, check = "";
      int spos, epos;
      byte[] len = xd.getBytes();
      tags = new String[len.length*3/4];
      int nextpos = 0;
      for(i=0;i<len.length*3/4;i++){
        spos = xd.indexOf("<", nextpos);
        epos = xd.indexOf(">", spos);
        tagn = xd.substring(spos, epos);
        if(i == 0 || i == 1 || i == 2){
            if(tagn.indexOf("/") == -1){
                tags[k] = "<"+tagn+">";
                k +=1;
            }else{
                continue;
            }
        }else{
            if(tagn.indexOf("/") == -1){
                for(j=0;j<tags.length;j++){
                    if(tags[i].equals(tags[j])){
                        check = "found";
                    }else{
                        check = "notfound";
                    }
                }
                if(check.equals("notfound")){
                    tags[i] = "<"+tagn+">";
                    k+=1;
                }else{
                    continue;
                }
            }else{
                continue;
            }
        }
        nextpos = epos + 1;
      }
  }
public void parseWebXML(字符串xd){
int i,j,k=0;
字符串tagn,勾选“”;
int SPO、EPO;
字节[]len=xd.getBytes();
标签=新字符串[长度*3/4];
int-nextpos=0;

对于(i=0;i您初始化了标记[],但不是它的每个单元格,因此
标记[i].
等于(标记[j])可能导致
NPE
标记[i]
为空)。

标记[]只有3项

if(i == 0 || i == 1 || i == 2){
            if(tagn.indexOf("/") == -1){
                tags[k] = "<"+tagn+">";
                k +=1;
if(i==0 | | i==1 | | i==2){
if(标记indexOf(“/”)==-1){
标签[k]=“”;
k+=1;

如果i>3,那么标签[i]返回null。而标签[i].equals抛出NPE

谢谢,伙计……你的回答帮助我在系列的另一个函数中检测到问题……在当前函数中……错误是不同的。
if(i == 0 || i == 1 || i == 2){
            if(tagn.indexOf("/") == -1){
                tags[k] = "<"+tagn+">";
                k +=1;