Java 变换集<;关键词>;放入字符串[]
我有一个object关键字,它存储一个包含关键字文本的字符串和一组关键字(Java 变换集<;关键词>;放入字符串[],java,Java,我有一个object关键字,它存储一个包含关键字文本的字符串和一组关键字(set),我需要将它们转换为字符串数组。是否有一种快速/简单的方法来实现这一点,或者我需要迭代集合并逐个添加每个关键字 编辑: 对于要求关键字类的用户: @Entity public class Keyword { // ... @Basic private String value; // ... // Getters & Setters } 试试这个: Str
set
),我需要将它们转换为字符串数组。是否有一种快速/简单的方法来实现这一点,或者我需要迭代集合并逐个添加每个关键字
编辑:
对于要求关键字类的用户:
@Entity
public class Keyword {
// ...
@Basic
private String value;
// ...
// Getters & Setters
}
试试这个:
String[] arr = set.toArray(new String[set.size()]);
。。。如果你有一套的话,我会这么说
不,无法将集合
直接转换为字符串[]
,因为关键字
和字符串
之间没有直接关系。您必须在集合上迭代:
String[] arr = new String[set.size()];
int i = 0;
for (Keyword word : set)
arr[i++] = word.toString();
试试这个:
String[] arr = set.toArray(new String[set.size()]);
。。。如果你有一套的话,我会这么说
不,无法将集合
直接转换为字符串[]
,因为关键字
和字符串
之间没有直接关系。您必须在集合上迭代:
String[] arr = new String[set.size()];
int i = 0;
for (Keyword word : set)
arr[i++] = word.toString();
实现Collection
intefrace(包括Set
)的每个类都有toArray()方法:
String[] array= set.toArray(new String[0]);
对于使用其他类型参数化的集合,例如,set
,您必须执行以下操作:
Keyword[] array= set.toArray(new Keyword[0]);
String[] stringArray= new String[array.length];
for (int i=0; i<array.length; i++) {
stringArray[i]= array[i].getThatString();
}
Keyword[]array=set.toArray(新关键字[0]);
String[]stringArray=新字符串[array.length];
对于(int i=0;i实现Collection
intefrace(包括Set
)的每个类都有toArray()
方法:
String[] array= set.toArray(new String[0]);
对于使用其他类型参数化的集合,例如,set
,您必须执行以下操作:
Keyword[] array= set.toArray(new Keyword[0]);
String[] stringArray= new String[array.length];
for (int i=0; i<array.length; i++) {
stringArray[i]= array[i].getThatString();
}
Keyword[]array=set.toArray(新关键字[0]);
String[]stringArray=新字符串[array.length];
对于(int i=0;i没有具体的方法来实现这一点。您可以使用Set.toArray将Set转换为Object[],然后在数组上迭代
或
直接迭代集合没有具体的方法。您可以使用set.toArray将集合转换为Object[],然后迭代数组
或
直接迭代集合如果使用,则可以使用:
Lists.transform(Lists.newArrayList(theSet), Functions.usingToString())
.toArray(new String[theSet.size()])
这只不过是番石榴实际作用的表面而已。如果您使用,您可以使用:
Lists.transform(Lists.newArrayList(theSet), Functions.usingToString())
.toArray(new String[theSet.size()])
这仅仅触及了番石榴实际功能的表面。您可能需要向关键字类添加toString()
方法,如下所示。或者您可以使用单独的transformer类/方法
class Keyword {
private String value;
Keyword(String v) {
this.value = v;
}
public String toString() {
return value;
}
}
我想说,迭代集合并逐个添加每个关键字是您最好的策略
System.out.println(toStringArray(set));
您可能需要向关键字类添加toString()
方法,如下所示。或者您可以使用单独的transformer类/方法
class Keyword {
private String value;
Keyword(String v) {
this.value = v;
}
public String toString() {
return value;
}
}
我想说,迭代集合并逐个添加每个关键字是您最好的策略
System.out.println(toStringArray(set));
所以这个对象实际上是指一个字符串?object o=“HELLO”?你能添加更多的源代码吗?我不理解你在开场白中提供的描述。什么是关键字
?你能展示这个类吗?你的标题是集
,但你指的是添加到问题中的集
。关键字。所以这个对象实际上指的是一个字符串?object o=“HELLO”?你能添加更多的源代码吗?我不理解你在开场白中提供的描述。什么是关键字
?你能展示一下这个类吗?你的标题是集
,但你提到了一个集
。关键字添加到了问题中。@assylias哎呀,我原以为是集
。这就是我的想法。谢谢你的回答。@assylias伊利亚斯,不,集合不是集合。@assylias哎呀,我以为它是一个集合
。这就是我的想法。谢谢你的回答。@assylias,不,集合不是集合。op提到了一个集合
而不是一个集合
,它恰好包含字符串。是的,标题不正确。很抱歉。谢谢你的回答。这正是我想要的我想。为什么要迭代关键字[]数组,而你可以直接迭代集合?op提到的是集合
而不是集合
,恰好包含字符串。是的,标题不正确。很抱歉。谢谢你的回答。这正是我所想的。为什么要迭代关键字[]数组虽然你可以直接在集合中迭代?不幸的是,我没有使用番石榴,但我会看看未来的项目(也许还有这个)。谢谢你的回答。@DavidMorenoGarcía(个人意见,注意)你应该认真考虑使用它。正如我在评论中提到的,它只能做一件事。查看完整的API。注意它有真实不变的集合、真实的IP地址验证等等。真的。有时在项目中你不能添加额外的依赖项,这就是戴维斯所说的。无法使用番石榴。@GladwinB我经常遇到“无法添加额外依赖项”的问题部分;在今天这个时代,它不可能是一个技术性的论点,而只是一个公司政策的论点;对于开发者来说,它的价值是零…@fge:我从来没有提到过公司或他们的政策,但你确实需要保留他们是我们工资的来源。更进一步,从技术角度来说,你真的把整个伦敦银行同业拆借利率都包括在内了吗ary因为它有一个你需要的小功能,你确实可以自己实现它?记住,一个依赖关系就是链中的一个链接,需要考虑到w.r.t安全性、bug、复杂性等。不幸的是,我没有使用Guava,但我会看看未来的项目(也许还有这个).谢谢你的回答。@DavidMorenoGarcía(个人意见、想法)你应该认真考虑使用它。正如我在评论中提到的,它只能做一件事。查看完整的API。注意它有真正的不可变的集合,真实的IP地址验证等等。真的。有时在项目中你不能增加额外的附加。