java 为什么不能将这些对象添加到数组列表中[已关闭]

jjjwad0x  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(146)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
我试图将三个飞行对象添加到flyable类型的数组列表中,这是我在包中创建的抽象接口,这是我的代码。

package labInterface;
import java.util.ArrayList;
public class App 
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        Plane myPlane = new Plane(4, "Boing 747");
        System.out.printf("myPlane: %s%n", myPlane);

        Hangglider myHangglider = new Hangglider(true);
        System.out.printf("myHangglider: %s%n", myHangglider);

        Bird myBird = new Bird("Swallow");
        System.out.printf("myBird: %s%n", myBird);
        
        
        ArrayList<Flyable> flyingThings = new ArrayList<Flyable>();
        flyingThings.add("myPlane");
        flyingThings.add("myHangglider");
        flyingThings.add("myBird");
        
    }

}

我得到错误“类型ArrayList中的方法add(Flyable)不适用于参数(String)"。任何帮助都将非常感谢,谢谢。
我试过使用flyingThings.add(new Flyable("myPlane"));,但是我得到了错误,“无法示例化类型Flyable”。

dgtucam1

dgtucam11#

ArrayList<Flyable> flyingThings = new ArrayList<Flyable>();

这里你已经创建了一个数组列表,它的数据类型应该是Flyable object。

flyingThings.add("myPlane");
flyingThings.add("myHangglider");
flyingThings.add("myBird");

您试图添加字符串对象,例如“myPlane”,..是字符串,因此无法添加字符串。解决方法是删除这些双引号。

flyingThings.add(myPlane);
 flyingThings.add(myHangglider);
 flyingThings.add(myBird);

相关问题