Java 在ArrayList中组合两个字符串

Java 在ArrayList中组合两个字符串,java,Java,我想知道是否有可能合并我设置的两个字符串- 我试图做的是当玩家键入命令“/rules add Rule go Here”时 它会将文本“Rule Goes Here”作为列表添加到配置文件中,配置文件如下所示: 规则: 规则1 规则2 我尝试用于命令的代码如下所述: if (args[0].equalsIgnoreCase("add")) { ArrayList<String[]> list1 = new ArrayList<String[]&

我想知道是否有可能合并我设置的两个字符串-

我试图做的是当玩家键入命令“/rules add Rule go Here”时 它会将文本“Rule Goes Here”作为列表添加到配置文件中,配置文件如下所示:

规则:

  • 规则1

  • 规则2

我尝试用于命令的代码如下所述:

if (args[0].equalsIgnoreCase("add"))
      { 
        ArrayList<String[]> list1 = new ArrayList<String[]>();
        List<String[]> c = plugin.getConfig().getList("rules");

        c.list1.addAll(Arrays.asList(args));

        return true;
      }
if(args[0].equalsIgnoreCase(“add”))
{ 
ArrayList list1=新的ArrayList();
List c=plugin.getConfig().getList(“规则”);
c、 list1.addAll(Arrays.asList(args));
返回true;
}
“plugin”是插件的主要类,所以所有的东西都会被激发起来使用。这就是生成配置的地方

我试图使用我在bukkit论坛上找到的代码-
plugin.getConfig().getList(“规则”).add(args)
但是运气不好,因为我得到了错误声明:

类型
列表中的方法
add(capture#4-of?
不适用于参数(
String[]

现在问这个问题可能很愚蠢,最有可能的是,但我当然还是个初学者。 如果你能在这方面帮助我,我将非常感激。
谢谢大家!

您需要该
列表
才能具有实际类型,您不能对具有通配符类型的对象进行变异。

也许这就是您要寻找的:

c.list1.addAll(Arrays.asList(args));

但是你需要更准确地描述你想用哪些列表做什么。

这实际上是一项有趣的任务,尽管这不是你作为java初学者应该做的事情(编写minecraft插件时至少没有java的基础知识是行不通的)

至于你的问题,下面将是一个方法来做到这一点,可能会有错误,因为我没有一个minecraft服务器,我可以测试它

使用用户在chat中编写的规则获取
ArrayList
,非常简单:

ArrayList<String> a = new ArrayList<>();
    for(String s : args){
        a.add(s);
    }
如果结果是你想要的伟大,如果不是,请准确说明该功能的错误

还要记住,如果没有其他插件或您的插件使用
“rules”
作为访问这些规则的密钥(至少据我所知),那么添加这些规则不会有多大作用

编辑:

上述方法是可能的,但以下方法也可能有效:

if(plugin.getConfig().getList("rules")){
   plugin.getConfig().getList("rules").add(Arrays.asList(args));
 }

不要忘记,这种方式可以有重复!列表和(据我所知)所有它的实现都不会检查重复条目

什么是
插件
?你能澄清一下“玩家为规则输入了什么”@cricket_007在我看来像是Minecraft Bukkit插件的插件对象。你添加的代码没有多大意义。您已将
c
声明为
列表
,但下一行是
c.list1.add
。你想在这里做什么?啊,一个新的没有经验的Bukkit程序员的味道-D这篇文章很难理解,代码也帮不了什么忙。不仅如此,OP似乎认为
list1
在某种程度上是
c
的一员。不幸的是,这并不能解决问题,我编辑了这篇文章来解释我要做的事情。
if(plugin.getConfig().getList("rules")){
   plugin.getConfig().getList("rules").add(Arrays.asList(args));
 }