Методы, которые вы вызываете в классе Boolean
, не проверяют, содержит ли строка допустимое логическое значение, но они возвращают логическое значение, которое представляет содержимое строки: поместите «true» в строку, они возвращаются true
, поместите «false» в строку, они возвращают false
.
Вы можете использовать эти методы, однако, для проверки допустимых логических значений, поскольку я ожидаю, что они выдадут исключение, если строка содержит «привет» или что-то не логическое.
Оберните это методом ContainsBoolString
, и вы идете.
РЕДАКТИРОВАТЬ
Кстати, в C# существует методы, такие как bool Int32.TryParse(string x, out int i)
, которые выполняют проверку, может ли быть проанализировано содержание, а затем возвращают проанализированный результат.
int i;
if (Int32.TryParse("Hello", out i))
// Hello is an int and its value is in i
else
// Hello is not an int
тесты показывают, что они намного быстрее, чем следующие:
int i;
try
{
i = Int32.Parse("Hello");
// Hello is an int and its value is in i
}
catch
{
// Hello is not an int
}
Может быть, существуют аналогичные методы в Java? Прошло некоторое время с тех пор, как я использовал Java ...
Даже если вы установили 'value =" true "'? – moxn
В любом случае, если вы попробуете один из предложенных подходов, вы должны использовать String.equalsIgnoreCase (String s), чтобы быть в безопасности. – moxn
Вы пытались: http://tinyurl.com/ycovuqg –