【问题标题】:Passing information to other method将信息传递给其他方法
【发布时间】:2020-05-18 06:19:29
【问题描述】:

我的代码的一小部分有问题。

我要求用户给我一个答案(使用扫描仪),并且知道我想在其他方法中使用该信息。然后我想比较一下,看看答案是否正确。她是我代码的一小部分:

public void enterYourName(){
    System.out.println("What is your name?");
    name = input.nextLine();
}

而且我想在其他方法中使用这些信息:

public void check(String personName){
  if(name.contentEquals("Eric")){
    /* TODO */
  }
}

我收到以下错误消息:

  • 无法解析java.lang.CharSequence 类型。它是从所需的 .class 文件中间接引用的。

  • java.lang.String 类型中的方法 contentEquals(java.lang.StringBuffer) 不适用于参数 (java.lang.String)。

我做错了什么?另外,如果 if 语句有误,请随时纠正我。

【问题讨论】:

  • 使用名称.equalsIgnoreCase("Eric")

标签: java methods constructor


【解决方案1】:
  1. 即使没有任何导入,java.lang.CharSequence 也应该可供您使用 - 它是 JDK 的一部分。很难说,为什么它不起作用,但它应该。
  2. 根据其documentation 页面,String.contentEquals 可以通过StringBufferCharSequence 进行参数化。你想通过String 调用它,它不起作用。

(2) 很容易解决:

  • 正如@AndréMartins 在评论中所说,您可以使用String.equals(...)String.equalsIgnoreCase(...)
  • StringBufferCharSequence 类都有一个 toString() 方法,将它们转换为 String

我还怀疑,您机器的 JDK/JRE 安装可能有问题。

【讨论】:

    猜你喜欢
    • 2016-07-31
    • 1970-01-01
    • 2016-08-07
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多