импорт не работает корректно в Eclipse/Java

-4

Я использовал следующее:

String x;......//x gets set somewhere in this code String y = x.replaceAll("\\s+", " ").trim();

Затем я нашел org.apache.commons.lang3.StringUtils.normalizeSpace(), который делает то же самое. Итак, в верхней части моего класса я добавил

import org.apache.commons.lang3.StringUtils;

и называется String y = normalizeSpace(x); но он дал мне метод, который не нашел ошибку, и предложил создать метод.

Поэтому я попробовал import org.apache.commons.lang3.StringUtils.*;

но та же проблема. У кого-нибудь есть идея, что не так?

Да, я могу и могу использовать

String y = org.apache.commons.lang3.StringUtils.normalizeSpace(x);

но это становится неудобно печатать весь путь каждый раз.

О, и я не получил синтаксическую ошибку в любом из операторов импорта. И я думаю, я мог бы вернуться к замене и обрезке, но у StringUtils есть много других методов, которые было бы полезно использовать.

спросил(а) 2015-04-30T20:58:00+03:00 5 лет, 2 месяца назад
0
94

Вам нужен либо статический импорт:

import static org.apache.commons.lang3.StringUtils.*;

...

String y = normalizeSpace(x);

Или укажите класс по имени:

import org.apache.commons.lang3.StringUtils;

...

String y = StringUtils.normalizeSpace(x);

ответил(а) 2015-04-30T21:00:00+03:00 5 лет, 2 месяца назад
39

StringUtils - это класс. Он имеет статический метод, называемый normalizeSpace().

Когда вы импортируете класс, это просто означает, что вы можете использовать имя класса без полного имени. Таким образом, вы можете сделать это:

String y = StringUtils.normalizeSpace(x);

Поскольку normalizeSpace() является статическим методом, вы также можете использовать статический импорт:

import static org.apache.commons.lang3.StringUtils.normalizeSpace;

И тогда вы сможете напрямую использовать метод normalizeSpace() без имени класса.

Однако следует отметить, что статический импорт следует использовать редко, поскольку они затрудняют выполнение кода.

ответил(а) 2015-04-30T21:01:00+03:00 5 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема