Java 列表<;对象>;进入CharSequence[]
我有一份清单:Java 列表<;对象>;进入CharSequence[],java,Java,我有一份清单: public List <Book> bookList = new ArrayList <>(); 公共列表bookList=newarraylist(); 可以使用Book对象引用上的.title获取Book对象的标题(这是一个字符序列) 我要做的是声明一个方法,该方法将图书列表作为输入参数,并返回包含图书标签的CharSequence[]。 书单是按顺序排列的,如果可能的话,我想保留这个 编辑:标题也是字符序列。将其用于: 后者在Java7中(使用
public List <Book> bookList = new ArrayList <>();
公共列表bookList=newarraylist();
可以使用Book对象引用上的.title获取Book对象的标题(这是一个字符序列)
我要做的是声明一个方法,该方法将图书列表作为输入参数,并返回包含图书标签的CharSequence[]。
书单是按顺序排列的,如果可能的话,我想保留这个
编辑:标题也是字符序列。将其用于:
后者在Java7中(使用迭代器):
或旧样式的循环:
CharSequence[] bookTitles = new CharSequence[books.size()];
for (int i = 0; i < bookTitles.length; i++) {
bookTitles[i] = books.get(i).title;
}
return bookTitles;
CharSequence[]bookstitles=新的CharSequence[books.size()];
对于(int i=0;i
将其用于:
后者在Java7中(使用迭代器):
或旧样式的循环:
CharSequence[] bookTitles = new CharSequence[books.size()];
for (int i = 0; i < bookTitles.length; i++) {
bookTitles[i] = books.get(i).title;
}
return bookTitles;
CharSequence[]bookstitles=新的CharSequence[books.size()];
对于(int i=0;i
试试:
或者,就像steffen在回答中所做的那样,在最后使用数组收集器。一般来说,我建议使用List
s而不是数组。试试:
或者,就像steffen在回答中所做的那样,在最后使用数组收集器。一般来说,我建议使用
列表
而不是数组。如果您有书籍
对象的列表,您可以使用Java 8的流
对元素进行流式处理,将每个元素映射到相应的标题,并将其收集到数组,例如:
List<Book> books = new ArrayList<>();
CharSequence[] names = books.stream()
.map(b -> (CharSequence)b.title)
.toArray(CharSequence[]::new);
List books=new ArrayList();
CharSequence[]name=books.stream()
.地图(b->(字符序列)b.标题)
.toArray(字符序列[]::新建);
如果您有一个书籍
对象列表,您可以使用Java 8的流
对元素进行流式处理,将每个元素映射到相应的标题,并将其收集到数组中,例如:
List<Book> books = new ArrayList<>();
CharSequence[] names = books.stream()
.map(b -> (CharSequence)b.title)
.toArray(CharSequence[]::new);
List books=new ArrayList();
CharSequence[]name=books.stream()
.地图(b->(字符序列)b.标题)
.toArray(字符序列[]::新建);
你尝试了什么吗?你的尝试在哪里<代码>字符串
实现了字符序列
。需求列表不是问题。此外,尚不清楚字符序列的结构应该是什么。你应该尽你最大的能力编写一个符合你要求的程序,然后你可以询问你在程序中遇到的困难。我试过写一些方法,但它出了问题。你试过什么了吗?你的尝试在哪里<代码>字符串
实现了字符序列
。需求列表不是问题。此外,尚不清楚字符序列的结构应该是什么。你应该尽你最大的能力编写一个满足你要求的程序,然后你可以询问你在程序中遇到的困难。我尝试过编写一些方法,但它出错了。String::valueOf
可能包括标题以外的其他数据,具体取决于书的内容。toString
does@f1sh对他一直在更改问题。问题的第一个版本已经声明“您可以使用Book object引用上的.title获取Book object的标题(这是一个字符串)。”我讨厌StackOverflow。三个答案都是正确的,但没有人能胜过另一个答案,因为这会扼杀自己的答案(而每个答案都认为是最聪明的答案)。是的,就是这样。接受我的向上投票作为和平协议。String::valueOf
可能包括标题以外的其他数据,具体取决于Book.toString
does@f1sh是的,他一直在更改问题。问题的第一个版本已经声明“您可以获取图书对象的标题(是字符串)使用图书对象参考上的.title,“我讨厌堆栈溢出。三个答案都是正确的,但没有人能胜过另一个答案,因为这会扼杀自己的答案(而每个答案都认为是最聪明的答案)。是的,就是这样。接受我的投票作为和平协议。
bookList.stream().map(b -> ((CharSequence)b.title)).collect(Collectors.toList()).toArray();
List<Book> books = new ArrayList<>();
CharSequence[] names = books.stream()
.map(b -> (CharSequence)b.title)
.toArray(CharSequence[]::new);