java - 由于 : String cannot be converted to char,堆栈无法推送

标签 java stack push

import java.util.*;

public class plates2{
    private static Scanner in;
    private static Stack platestack = new Stack();

    public static void main(String[] args)
    {
        add();
    }

    public static void add()
    {
        Scanner in = new Scanner(System.in);

        System.out.print("Enter plate: ");
        String pl = in.nextLine();

        System.out.println("Plate added! ");

        platestack.push(pl);
    }
}

所以我无法编译代码并给出了这个错误。

错误:类型不兼容:字符串无法转换为字符 Platestack.push(pl);

有人可以指出哪里出了问题吗?我想将一个字符串压入堆栈。

最佳答案

当我编译此类(使用 Java 8)时,我没有收到任何错误消息。我只收到有关不安全/未经检查的操作的警告。

但是你说你得到了这个!

error: cannot infer type arguments for Stack private static Stack platestack = new Stack<>(); reason: cannot use '<>' with non-generic class Stack

>>灯泡时刻<<

但是java.util.Stack是一个泛型类。从 Java 5 开始就引入了泛型。

您必须定义自己的 Stack类,并且您必须使用它而不是标准 java.util.Stack 。如果您这样做了,您就定义了 Stack.push操作(仅)char参数,那么that就可以解释这个编译错误。这也可以解释没有其他人看到编译错误。

关于java - 由于 : String cannot be converted to char,堆栈无法推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36424202/

相关文章:

java - 如何使用占位符字符设置 JFormattedTextField 的值?

linux - 堆栈指针的初始值是如何确定的?

ios - 快速堆栈 View 中的表格 View

javascript对象推送如何设置键值

iphone - 我们可以使用phonegap框架在iphone中进行推送通知吗?

java - 将电子邮件从一个文件夹移动到另一个文件夹

java - 将eclipse项目升级到jdk1.7时的ManagementFactory问题

java - Apache Flink - 使用带有泛型类型参数的类

c++ - 奇怪的堆栈/字符串行为

ios6 - 发送推送通知时如何从 APN 获取反馈