相关疑难解决方法(0)

Java类名中的有效字符

Java类名中有哪些字符有效?还有哪些其他规则管理Java类名称(例如,Java类名称不能以数字开头)?

java unicode class invalid-characters naming-conventions

68
推荐指数
4
解决办法
14万
查看次数

如何验证字符串是否是有效的java变量?

如何最好地检查字符串输入是否是用于编码的有效java变量?我敢肯定,我不是第一个愿意这样做的人.但也许我错过了正确的关键字来找到有用的东西.

最好的可能是RegEx,它检查:

  • 以一封信开头

  • 然后可以包含数字,字母

  • 可以包含一些特殊字符,比如'_'(哪个?)

  • 可能不包含空格分隔符

java regex

12
推荐指数
2
解决办法
6453
查看次数

java中变量的命名限制

为什么特殊字符(除$,_不允许在Java中的变量名)?

java

10
推荐指数
3
解决办法
1万
查看次数

Java方法名称的有效字符是什么?

我读到了Java变量命名.它说除了$和_之外,Java变量不能以任何数字和特殊字符开头.

一些有效的例子:

int count;
int _count;
int $count;
Run Code Online (Sandbox Code Playgroud)

还有一些无效的例子:

int %count;
int 4count;
int #count;
Run Code Online (Sandbox Code Playgroud)

相同的规则是否适用于方法名称?

java methods naming rules

9
推荐指数
1
解决办法
2万
查看次数

为什么JVM允许我们命名以字节码中的数字开头的函数?

标识符由Java语言规范,Java SE 7 Edition(§3.8)很好地定义

An identifier is an unlimited-length sequence of Java letters and Java digits, the
first of which must be a Java letter.
Run Code Online (Sandbox Code Playgroud)

据我所知,由于方法名称是标识符,因此不可能在java中命名以数字开头的方法,并javac遵守此规则.

那么,为什么Java虚拟机似乎不遵守这个规则,允许我们在Bytecode中命名一个以数字开头的函数?


这个简单的代码片段实际上会打印f99()方法名称及其参数的值.

public class Test {
    public static void main(String[] args) {
        Test t = new Test();
        System.out.println(t.f99(100));
    }

    public int f99(int i){
        System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());
        return i;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译和执行:

$ javac Test.java
$ java Test
Run Code Online (Sandbox Code Playgroud)

输出:

f99
100
Run Code Online (Sandbox Code Playgroud)

可以在编译后反汇编代码,并f99通过99(在reJ之类的工具的帮助下 )重命名所有出现的代码.

$ java …
Run Code Online (Sandbox Code Playgroud)

java jvm bytecode identifier

3
推荐指数
2
解决办法
610
查看次数

还有什么允许非凡的java方法名称?

我知道$可以在Java中用作方法名.还有什么?

class MyClass {
    String $() {
        return "I've never been expected anyone would invoke me";
    }
}
Run Code Online (Sandbox Code Playgroud)

这实际上是一个实际问题.我正在寻找另一个$.

java jls

1
推荐指数
1
解决办法
69
查看次数

其中哪些是有效的变量名称?

这是我在大学参加的 Java 测试中的一个问题

\n\n

一、公共保护

\n\n

二. $_

\n\n

三._identi#ficador

\n\n

我有。受保护

\n\n

我想说我、II、我都是正确的。这个问题的正确答案是什么?

\n\n

西班牙语问题的来源:Teniendo la siguiente lista de identificadores de Variables, \xc2\xbfCu\xc3\xa1l (es) es (son) v\xc3\xa1lido (s)?

\n

java netbeans

-4
推荐指数
1
解决办法
2万
查看次数

是intπ; 是java中的有效语法?

我有一些疑问,我想知道那是intπ; 是Java或Not中的有效语法,因为Java支持UNICODE所以根据我的说法它可以是有效的,但我想确定

java unicode identifier

-8
推荐指数
1
解决办法
213
查看次数