在Java中,将参数作为字符,但不带引号

在Java中,将参数作为字符,但不带引号,java,Java,我定义了一个方法,其参数类型为char: public void method(char x){ // do something here } 我希望能够像这样调用此方法: method(a); 但是Java希望我写: method('a'); 如何调用没有引号的方法?Java支持吗?实现这一点的唯一方法是合法语法: method(a); 用于定义范围内的某事物a。例如,您可以执行以下操作: class Foo { public static final char a =

我定义了一个方法,其参数类型为
char

public void method(char x){
    // do something here
}
我希望能够像这样调用此方法:

method(a);
但是Java希望我写:

method('a');

如何调用没有引号的方法?Java支持吗?

实现这一点的唯一方法是合法语法:

method(a);
用于定义范围内的某事物
a
。例如,您可以执行以下操作:

class Foo {
    public static final char a = 'a';
    // etc.

    public static void main(String[] args) {
        method(a);  // equivalent to method('a')
    }
}

但是,除非您创建一个名为
a
的变量,否则您将无法在Java程序源代码中将
a
用作裸字。如果您想要一个char文本,您需要使用单引号,比如
'a'

简短的回答是:不,Java不支持。但这听起来像是一个X-Y问题:可能有更好的方法来完成你想做的事情。另一个简短的答案是“是”——如果
a
是一个字符变量,我的意思是,除了定义一个名为
a
的变量之外。您当然可以执行
publicstaticfinalchara='a'等等,但那太傻了。有没有支持这种语法的语言?@lonnguyen:Perl和Bash都支持,我想不起来。