[英]All elements in array to lowercase - toLowerCase() method
我正在嘗試將 java 中的數組列表中的所有項目轉換為小寫。 誰能告訴我我做錯了什么?
for (int i = 0; i <= books.size() - 1; i++) {
books = books.toLowerCase();
if (books.get(i).toString().contains(s)) {
return true;
我的程序基本上是一個銷售庫存的商店。 每個類別的庫存都是它自己的數組,如:
books = new ArrayList<>();
我在構造函數中提出了尺寸等要求
book_1 = new Book(300, 8, 500, true);
它本身會打印出類似的內容:300 頁的書,這些尺寸等。
如果用戶想搜索數組中的“書”項,我需要它返回 true 並告訴他們該搜索有結果。 我正在嘗試將數組中的所有字符串轉換為小寫字母,以便大寫字母不會影響它們的搜索。
您似乎想查看List
是否包含Book
的String
表示,忽略大小寫。
books = books.toLowerCase();
不起作用,因為ArrayList
類沒有toLowerCase
方法; 它是具有它的String
類。 您可以使用內置方法equalsIgnoreCase()
:
for(int i =0; i < books.size(); i++) {
if(books.get(i).toString().equalsIgnoreCase(s)) {
return true;
}
}
return false;
或 Java 8+:
return books.stream().map(Book::toString).anyMatch(s::equalsIgnoreCase);
或者
return books.stream().anyMatch(book -> book.toString().equalsIgnoreCase(s));
我想你犯了一個錯誤, books
是一個字符串列表。 因此,在這種情況下,您可以執行以下操作:
List<String> upperCaseBooks = books.stream().map(book -> book.toLowerCase()).collect(Collectors.toList());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.