我搜索了这个,但找不到我需要的东西,所以我创建了一个新帖子.我希望了解这个问题.谢谢.
ArrayList<String> arraylist= new ArrayList<String>();
arraylist.add("Nguyen");
arraylist.add("Viet");
String[] name={"Quan","Doan","Thi","Ha"};
arraylist.add(name);// error here
ArrayList<Object> arraylist1=new ArrayList<Object>();
arraylist1.add("Nguyen");
arraylist1.add("Viet");
Object[] name1={"Quan","Doan","Thi","Ha"};
arraylist1.add(name1);// not error
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下,当我name
进入add()
方法然后我得到一个错误,但当我name1
进入add()
方法,它工作正常,为什么会这样...
我知道skip(long)
的方法FileInputStream
跳过从该文件的起始位置字节,并将文件指针.但是如果我们想在文件中间只跳过20个字符,并且要读取文件的剩余部分,我们应该怎么做?
我已经测试了Collections.singleton()方法,如何工作,但我发现它不像文档说的那样工作?
List arraylist= new ArrayList();
arraylist.add("Nguyen");
arraylist.add("Van");
arraylist.add("Jone");
List list = Collections.singletonList(arraylist);// contains three elements
System.out.println(list.size());// right
Run Code Online (Sandbox Code Playgroud)
正如文档所说,方法调用返回一个只包含指定对象的不可变列表.单例列表只包含一个元素,单例HashMap只包含一个键.单例对象是不可变的(不能修改以添加一个元素),但是当我在代码中看到的那个列表包含三个元素("Nguyen","Van","Jone")时.
谁能解释一下为什么?非常感谢 !!
我有以下代码:
class Animal {
int i;
public Animal(){
i=13;
}
public String toString(){
return "Animal "+i;
}
}
//
public class NewMain {
public static void main(String[] args) {
HashSet hs=new HashSet();
boolean b=hs.add(new Animal());
boolean b1=hs.add(new Animal());
System.out.println(b+" "+b1);
for(Object o:hs)
{
System.out.println(hs);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这Set
不允许重复,但为什么上面的代码似乎允许两个相同的值?
我在这个网站上测试过:
String[] names =new String[0];
Run Code Online (Sandbox Code Playgroud)
结果表明这是有效的,但是当我在IDE上测试它时,我收到一个错误.有人告诉我为什么?