相关疑难解决方法(0)

何时在Java中使用LinkedList而不是ArrayList?

我一直只是一个人使用:

List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.

何时应该LinkedList使用,ArrayList反之亦然?

java collections linked-list arraylist

2974
推荐指数
27
解决办法
102万
查看次数

"编程到界面"是什么意思?

我已经看过几次提到这个,我不清楚这是什么意思.你何时以及为何会这样做?

我知道接口有什么作用,但事实上我不清楚这一点让我觉得我错过了正确使用它们.

如果你这样做是这样的:

IInterface classRef = new ObjectWhatever()
Run Code Online (Sandbox Code Playgroud)

你可以使用任何实现的类IInterface吗?你什么时候需要这样做?我唯一能想到的是,如果你有一个方法,你不确定除了实现之外将传递什么对象IInterface.我想不出你需要多久做一次.

另外,你怎么能写一个接受实现接口的对象的方法?那可能吗?

language-agnostic oop interface

791
推荐指数
17
解决办法
16万
查看次数

什么是原始类型,为什么我们不应该使用它?

问题:

  • 什么是Java中的原始类型,为什么我经常听说不应该在新代码中使用它们?
  • 如果我们不能使用原始类型,它有什么替代方案,它是如何更好的?

java generics raw-types

617
推荐指数
13
解决办法
20万
查看次数

如何在Java中初始化List <String>对象?

我无法初始化List,如下面的代码所示:

List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
Run Code Online (Sandbox Code Playgroud)

我面临以下错误:

无法实例化该类型 List<String>

我该如何实例化List<String>

java list

376
推荐指数
10
解决办法
127万
查看次数

Arrays.asList()vs Collections.singletonList()

在Collections.singletonList(something)上使用Arrays.asList(something)制作包含一个项目的列表是否有优势(或许多不同之处)?后者使得返回的列表也是不可变的.

java collections

121
推荐指数
3
解决办法
6万
查看次数

Java数组初始化列表以逗号结尾

,数组初始化列表中使用的逗号项分隔符可以在C中结束列表,这在Kernighan&Ritchie编写的第二版C编程语言中提到.

例如

  int c[] = { 1, 2, 3, };
Run Code Online (Sandbox Code Playgroud)

当列表很长时,这很方便,并且在添加项目时不希望更改/检查上一行

  long long c[] = { 
                    22342342344,
                     4324234234,
                    12312311111,
                   };
Run Code Online (Sandbox Code Playgroud)

但是在Java中我可以观察到两种不同的行为:
在Eclipse中,结束,被接受,而某些版本的maven编译器插件会抱怨并抛出编译错误.

但是,我没有在Flanagan的Java书中找到任何关于这种奇点的提及.

关于初始化项后结束逗号的官方规则是什么?
建议不要使用它吗?

c java syntax

6
推荐指数
1
解决办法
1948
查看次数

如何在Java中表示一个空列表?

我有这个类的构造函数以String和Arraylist作为参数;

class Foo{
    String ide;
    ArrayList list;

    public TypeOperator(String ide, ArrayList list){
        this.ide = ide;
        this.list = list;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以当我像下面这样初始化类时:

Foo one = new Foo("boo", []);
Run Code Online (Sandbox Code Playgroud)

它给出了错误。好吧,我可以这样做以使其工作:

ArrayList empty = new ArrayList();
Foo one = new Foo("boo", empty);
Run Code Online (Sandbox Code Playgroud)

有什么理由使第一个解决方案不起作用?还是有办法进行一些更改以使其起作用?谢谢

java list arraylist

0
推荐指数
1
解决办法
7357
查看次数