Saat menulis unit tes untuk fungsi pengembalian boolean
yang membutuhkan dua String
s, dan saya perlu menguji setiap karakter alfabet ( 'a'
- 'z'
) secara berurutan sebagai salah satu parameter, satu-per-satu, jadi saya menulis ini untuk melakukan itu:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Saya akan berpikir ini diperbolehkan, tetapi tidak, jadi saya hanya melakukannya seperti ini:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Apakah ini metode yang dapat diandalkan untuk mengonversi a char
ke String
dalam Java? Apakah ini cara yang disukai? Saya tidak tahu banyak tentang Java, jadi saya ingin klarifikasi tentang ini.
IntStream.rangeClosed('a', 'z')
?
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));