При написании модульных тестов для функции, возвращающей boolean
две String
секунды, мне нужно было проверить каждый символ алфавита ( 'a'
- 'z'
) последовательно как один из параметров, один за другим, поэтому я написал это для этого:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Я бы подумал, что это допустимо, но это не так, поэтому я просто сделал это так:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Является ли это надежный способ преобразовать char
к String
в Java? Это предпочтительный способ? Я не очень много знаю о Java, поэтому хотел бы получить разъяснения по этому поводу.
IntStream.rangeClosed('a', 'z')
?
String
конструктор, который не существует? Поправьте меня, если я ошибаюсь, но, насколько мне известно, в классе нет конструктора, String
который принимает один char
аргумент. Обратите внимание, что char
это не то же самое, что char[]
.
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));