Метод replaceVariables (String) не определен для типа - PullRequest
1 голос
/ 29 мая 2010

Я получаю это сообщение столько раз, сколько я использовал 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 ]

1 голос
/ 29 мая 2010

Итак, 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).

0 голосов
/ 29 мая 2010

Вкл. == на ссылочных типах

someString == "" почти всегда неверно. == - эталонное сравнение идентичности. Если вы хотите сравнение значений, используйте equals. В этом конкретном случае вы можете использовать someString.length() == 0 или someString.isEmpty()

Похожие вопросы

Вкл. += Вкл. String

Имейте в виду, что это работает ужасно (квадратично) с очень длинными строками. Если вы делаете это в любом значительном цикле, вы обязательно увидите эффект. Было бы лучше использовать StringBuilder.

Похожие вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...