Trong khi viết đơn vị kiểm tra cho một hàm trả về boolean
mất hai String
giây và tôi cần kiểm tra từng ký tự của bảng chữ cái ( 'a'
- 'z'
) theo một trong các tham số, từng cái một, vì vậy tôi đã viết điều này để làm điều đó:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Tôi đã có thể nghĩ rằng điều này được cho phép, nhưng nó không phải, vì vậy tôi chỉ làm điều đó như thế này:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Đây có phải là một phương pháp đáng tin cậy để chuyển đổi char
một String
trong Java? Đó có phải là cách ưa thích? Tôi không biết nhiều về Java vì vậy tôi muốn làm rõ về điều này.
IntStream.rangeClosed('a', 'z')
không sử dụng ?
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));