Beim Schreiben von Komponententests für eine Funktion boolean
, die zwei String
Sekunden zurückgibt, musste ich jedes Zeichen des Alphabets ( 'a'
- 'z'
) nacheinander als einen der Parameter einzeln testen. Dazu habe ich Folgendes geschrieben:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Ich hätte gedacht, dass dies zulässig ist, aber es war nicht so, also habe ich es stattdessen einfach so gemacht:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Ist dies eine zuverlässige Methode, um char
a String
in Java in a zu konvertieren ? Ist es der bevorzugte Weg? Ich weiß nicht viel über Java und möchte daher einige Erläuterungen dazu.
IntStream.rangeClosed('a', 'z')
?
String
Konstruktor aufzurufen , der nicht existiert? Korrigieren Sie mich, wenn ich falsch liege, aber soweit mir bekannt ist, gibt es in der Klasse keinen Konstruktor String
, der ein einziges char
Argument akzeptiert. Beachten Sie, dass dies char
nicht dasselbe ist wie char[]
.
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));