当前位置:编程学习 > JAVA >>

菜鸟求问


class Person{
String name;
}

class Man extends Person{
Man(String name){this.name=name;}

}



Collection<Man> l1=new LinkedList<Man>();
l1.add(new Man("Tom"));
l1.add(new Man("John"));
        ArrayList a3=new ArrayList(l1);


请问 为什么我这样构造 a3 不行啊 非常感谢。。。 --------------------编程问答--------------------
ArrayList<Man> a3=new ArrayList<Man>(l1);
你原来的代码也没错 就是会出警告 应该是类型安全的原因你该成这样应该就没问题了 --------------------编程问答--------------------
引用 楼主 mamalolo 的回复:
Java code?12345678class Person{    String name;} class Man extends Person{        Man(String name){this.name=name;}         }

Java code?1234Collection<Man> l1=new LinkedList<Man>();   ……

警告信息而已,楼主没有使用泛型照成的
 ArrayList<Man> a3=new ArrayList<Man>(l1);

这样就ok的 --------------------编程问答--------------------
引用 楼主 mamalolo 的回复:
Java code?12345678class Person{    String name;} class Man extends Person{        Man(String name){this.name=name;}         }

Java code?1234Collection<Man> l1=new LinkedList<Man>();   ……


给Lz修改了一下,ArrayList要限定类型Man,想打印出来再复写一下toString方法

import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;

public class CollectionTest 
{

public static void main(String[] args)
{
Collection<Man> l1=new LinkedList<Man>();
        l1.add(new Man("Tom"));
        l1.add(new Man("John"));
        ArrayList<Man> a3=new ArrayList<Man>(l1);
        
        for(Man m : a3)
        {
         System.out.println(m);
        }

}
}


class Person
{
    String name;
}
 
class Man extends Person
{
        Man(String name)
        {
         this.name=name;
        }
        
        public String toString()
        {
         return name.toString();
        }
         
}
--------------------编程问答-------------------- 楼上已解。。 --------------------编程问答-------------------- LZ是问为什么不行。LZ想知道什么可以多写的自己想要干嘛。 --------------------编程问答--------------------

import java.io.IOException;
import java.util.*;

class Person{
String name;
}

class Man extends Person{
Man(String name){this.name=name;}

}

public class Exercise
{
public static void main(String[] args) throws IOException {
//three ways to construct an Arraylist
//capacity refers to the length of private member elementData which is Object[]

ArrayList<Person> a1=new ArrayList<Person>();//default initial capacity,size 0
ArrayList<Person> a2=new ArrayList<Person>(20);//make a array of length 20 for elementData,size=0

Collection<Man> l1=new LinkedList<Man>();
l1.add(new Man("Tom"));
l1.add(new Man("John"));
        ArrayList<Person> a3=new ArrayList<Person>(l1);




}

}


不是警告 编译错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The constructor ArrayList<Man>(Collection<Man>) is undefined --------------------编程问答--------------------
引用 2 楼 kiritor 的回复:
引用 楼主 mamalolo 的回复:Java code?12345678class Person{    String name;} class Man extends Person{        Man(String name){this.name=name;}         }

Java code?1234Collection<Man> l1=new Li……
 是编译错误 我回复里贴了错误提醒 谢谢 --------------------编程问答--------------------

Collection<Man> l1=new LinkedList<Man>();                             
 ArrayList<Person> a3=new ArrayList<Person>(l1);

类型转换有问题吧,Man转Person?
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,