Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中用保留关键字声明参数名_Java_Parameters_Naming Conventions_Naming_Reserved Words - Fatal编程技术网

如何在Java中用保留关键字声明参数名

如何在Java中用保留关键字声明参数名,java,parameters,naming-conventions,naming,reserved-words,Java,Parameters,Naming Conventions,Naming,Reserved Words,我需要这样声明一个方法: public void doSomething(Class class) { ... } 当然,类参数名是无效的,因为它是保留关键字。然而,在C语言中,我可以使用@字符作为前缀来避免这种情况。使用@不仅是因为我可以“解决”它,而且在编译时,在“字节码”IL级别,名称将从@字符中删除 Java中有类似的东西吗?我只找到了u和美元。美元符号是所有符号中最丑的,伊姆霍 后来编辑:我知道clazz的事,但我没有提及,希望能有更好的东西。如果这是最好的,那就这样吧。然而,所有保

我需要这样声明一个方法:

public void doSomething(Class class) {
...
}
当然,类参数名是无效的,因为它是保留关键字。然而,在C语言中,我可以使用@字符作为前缀来避免这种情况。使用@不仅是因为我可以“解决”它,而且在编译时,在“字节码”IL级别,名称将从@字符中删除

Java中有类似的东西吗?我只找到了u和美元。美元符号是所有符号中最丑的,伊姆霍

后来编辑:我知道clazz的事,但我没有提及,希望能有更好的东西。如果这是最好的,那就这样吧。然而,所有保留关键字是否都有对应表?大致如下:

class->klass,clazz

开关->swytch,svvitch

稍后编辑2:一个合法的问题能产生多少尖刻的评论和无用的输入,真是令人惊讶。我几乎后悔问这个问题


稍后编辑3:在Java世界中,似乎最好的做法是闭嘴,不要问任何问题。不要打扰任何人,即使没有人问/回答某个问题,也要保持安静,不要说话。

事实上的标准是上课时大声喧哗。您将在许多API中看到它。

一个常见的惯例是拼写错误的参数名。在本例中,您可以调用参数clazz:


我知道这很难看,但这是Java社区采用的解决方案。

不,没有办法。关键字已保留,无法使用。在我看来,用一些奇怪的前缀(如C)进行转义并不是一个合适的解决方案,因为这会使代码更难看,可读性更低

public void doSomething(Class clazz) {
 ...
}

您可以在特殊情况下使用type或clazz。

在java中不能将关键字用作参数名或变量名

有两种选择:

更改参数的大小写。Java区分大小写,因此它不会将参数视为保留字。 使用与保留字发音相同的不同名称。 你的解决方案是clazz。它更具可读性

public void doSomething(Class clazz) {
 ...
}

确切地我看到了,差点吐出来-SI在寻找一些通用的解决方案。如果我的参数叫switch呢?如果这是你最大的问题,你是我见过的最幸运的程序员。我知道clazz是标准的,但我一直使用klass。不那么难看。克拉斯肯定更优雅。。。可以说;名称类对你来说是强制性的?不,我只是想找出语言的局限性,这样我就可以尽可能地根据自己的喜好对代码进行建模。我建议改变编程语言,这样你的OCD就能完全控制你。改变Java?这怎么可能?!不,使用不同的编程语言。