Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 变换集<;关键词>;放入字符串[]_Java - Fatal编程技术网

Java 变换集<;关键词>;放入字符串[]

Java 变换集<;关键词>;放入字符串[],java,Java,我有一个object关键字,它存储一个包含关键字文本的字符串和一组关键字(set),我需要将它们转换为字符串数组。是否有一种快速/简单的方法来实现这一点,或者我需要迭代集合并逐个添加每个关键字 编辑: 对于要求关键字类的用户: @Entity public class Keyword { // ... @Basic private String value; // ... // Getters & Setters } 试试这个: Str

我有一个object关键字,它存储一个包含关键字文本的字符串和一组关键字(
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地址验证等等。真的。有时在项目中你不能增加额外的附加。