对于类型,方法replaceVariables(String)是未定义的

时间:2010-05-28 21:20:58

标签: java

我收到此消息的次数与我在代码中使用replaceVariables的次数相同。我添加了引用的库,但我不知道还能做什么。有人可以帮助我吗?

更新:这是代码:

   int k = 0;
for(Xml reg_is:fetchsite.child("site").child("regexps").children("reg"))    
{
if(reg_is.string("name").contains("unique")){


if(reg_is.child("start").content()=="")
    error += "\tNo prefix reg.exp. given.\n";

  else
prefix = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("start").content()));                       

if(reg_is.child("end").content()=="")
    error += "\tNo suffix reg.exp. given.\n";
 else
suffix = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("end").content()));

}
else{
  poleis[k][0]= HtmlMethods.removeBreaks(reg_is.string("name"));
  poleis[k][1] = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("start").content()));//ιδια δομη για ολες τις πολεις
  poleis[k][2] = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("end").content()));
  k++;
 }
}

在这部分中,我使用XML来查找我想要的HTML页面中的数据。

2 个答案:

答案 0 :(得分:1)

因此,replaceVariables必须是在同一个类中声明的方法,或者它需要是使用import static导入的静态方法。由于它似乎是HtmlMethods类的一种方法,我的赌注是在导入中添加以下行应解决问题:

import static com.example.HtmlMethods.*;

您只需将com.example替换为实际的包名称即可。另一种方法是在代码中使用HtmlMethods.replaceVariables(x)


也就是说,执行string == ""不是确定字符串是否等于空字符串的方法。你应该使用

if (string.equals("")) {}

if (string.length() == 0) {}

if (string.isEmpty()) {}

代替。请注意,此处string应该是非null,否则您还需要添加string != null或使用"".equals(string)

答案 1 :(得分:0)

关于参考类型的==

someString == ""几乎总是错的。 ==是参考标识比较。如果您想要进行价值比较,请使用equals。在这种特殊情况下,您可以使用someString.length() == 0someString.isEmpty()

相关问题

+=上的String

请注意,这对于非常长的字符串来说非常可怕(二次)。如果你在任何相当大的循环中这样做,你肯定会看到效果。最好使用StringBuilder

相关问题