[英]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.