【问题标题】:Array stored in a linked list. (Java)数组存储在链表中。 (爪哇)
【发布时间】:2020-06-05 20:33:20
【问题描述】:

是否可以将整个数组存储为链表中的节点。我正在使用 java 提供的链接列表集合,并且我不断收到以下代码的错误。

List<Object[]> params = new LinkedList<Object[]>(); 
params.add(new Object[] { "ahhsjhs", {"jsdjdsk","djksdjsdk"}, true}); 

类型不匹配:无法从 String[] 转换为 Object

【问题讨论】:

  • 你的意思是params.add(new Object[]{"ahhsjhs", new String[]{"jsdjdsk", "djksdjsdk"}, true});但是你确定你想要这种数据结构,我建议使用类来存储这种类型的数据!
  • 不,我想要这种数据结构。是的,这就是我的意思
  • 如果我们知道您遇到什么错误会有所帮助...
  • @YCF_L 的更正代码可以正常工作,试试这个: public static void main(String[] args) { List params = new LinkedList(); params.add(new Object[] { "ahhsjhs", new String[]{"jsdjdsk","djksdjsdk"}, true}); System.out.println(params); }
  • 你没有声明这个:"{"jsdjdsk","djksdjsdk"}" 因为你没有指定这是什么所以编译器无法理解要放什么对象,我会假设您希望这样:“new String[]{"jsdjdsk","djksdjsdk"}"

标签: java arrays eclipse data-structures linked-list


【解决方案1】:

你可以使用它并且不会出错

List<Object[]> params = new LinkedList<Object[]>(); 
params.add(new Object[]{"ahhsjhs", new String[]{"jsdjdsk", "djksdjsdk"}, true});

你甚至可以这样做,没有错

List<Object[]> params = new LinkedList<Object[]>(); 
params.add(new Object[]{"ahhsjhs", new Object[]{new Object[] {"@@", new Object[] {"@@"},"@@"}, "@@"}, true});

但这是不好的做法!您应该接近 OOP。

【讨论】:

    【解决方案2】:

    这是可能的,而且您(几乎)正确地做到了。编译器对内联声明感到困惑,在外部进行声明应该可以让您摆脱错误,如下所示:

            List<Object[]> params = new LinkedList<Object[]>();
            String[] a = new String[]{"jsdjdsk","djksdjsdk"};
            params.add(new Object[] { a });
            params.add(new Object[] { "ahhsjhs", true});
            System.out.println(params);
        }
    

    这与 java:8.

    【讨论】:

      【解决方案3】:

      我真的不明白您为什么要这样做,但删除内括号可能会解决问题,即:

      List<Object[]> params = new LinkedList<>(); 
      params.add(new Object[]{"ahhsjhs","jsdjdsk","djksdjsdk",true});
      

      (我会将此作为评论发布,但我没有足够的声誉)

      【讨论】:

        【解决方案4】:

        把这个String[] objects:

        List<Object[]> params = new LinkedList<Object[]>();
        String[] objects = new String[] { "jsdjdsk", "djksdjsdk" };
        params.add(new Object[] { "ahhsjhs", objects, true });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-24
          • 1970-01-01
          • 2017-04-10
          • 2011-01-07
          • 1970-01-01
          • 1970-01-01
          • 2018-05-01
          • 1970-01-01
          相关资源
          最近更新 更多