簡體   English   中英

數組中的所有元素為小寫 - toLowerCase() 方法

[英]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是否包含BookString表示,忽略大小寫。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM