今天在做关于Spring和Hibernate的集成的课堂作业的时候,无意中把以前的一个数据库引入到Hibername里面。
Hibernage生成DAO后才发现,原来那个数据库是我以前用来测试中文处理用的,数据库名、表名和列名,全部都是用中文的。结果Hibernate产生的DAO里面的变量名,全部都是中文的。
我一看就晕了,正担心要花很多时间去修改,但仔细一看,没想到Eclipse居然没有报错!那么是否就说明可用呢?我赶紧写了一个main()方法来测试,而且在main()方法里面,特意加上了一个
String 你好="你好!";
这样的变量声明。但仍然不报错!然后运行居然也通过了。
我就觉得非常奇怪了,这是怎么回事?我记得在初学JAVA的时候,变量名就一定只能是英文字母和数字,而且一定要英文字母开头的啊?怎么会这样呢?
Hibernage生成DAO后才发现,原来那个数据库是我以前用来测试中文处理用的,数据库名、表名和列名,全部都是用中文的。结果Hibernate产生的DAO里面的变量名,全部都是中文的。
我一看就晕了,正担心要花很多时间去修改,但仔细一看,没想到Eclipse居然没有报错!那么是否就说明可用呢?我赶紧写了一个main()方法来测试,而且在main()方法里面,特意加上了一个
String 你好="你好!";
这样的变量声明。但仍然不报错!然后运行居然也通过了。
我就觉得非常奇怪了,这是怎么回事?我记得在初学JAVA的时候,变量名就一定只能是英文字母和数字,而且一定要英文字母开头的啊?怎么会这样呢?
解决方案 »
- swing中如何屏蔽掉windows的快捷键?
- popupMenu显示问题
- 救命!!毕业设计网络五子棋。
- java threads , concurrency event etc..............
- 关于在JSP页面中内嵌applet小程序的问题!
- 关于HttpURLConnection的问题
- 我要去面试一家通信公司, 请问应该重点准备哪方面的东西? 请高人救急!!!!!!!!
- XML的Swing生成!
- 关于类设计方面的问题,希望能够讨论讨论
- Java客户端可以接受来自服务器的数据,可是不知道接收到的数据如何重新画面板。
- 如何用代码点击JOptionPane中的按钮?
- 如何在Java中实现 像Delphi中的 Midstr 函数 和 pos 函数
楼主【siu5】截止到2008-06-26 14:10:22的历史汇总数据(不包括此帖):
发帖数:25 发帖分:835
结贴数:14 结贴分:480
未结数:11 未结分:355
结贴率:56.00 % 结分率:57.49 %
楼主加油
如果没有说错的话不但可以是中文,写个日文韩文的变量也能通过
你应该结些帖子了
java中是用unicode编码的, 中文和英文字符是一致的,
似乎在哪个大作里提到过,变量名可以用中文
同意“java中是用unicode编码的”这种解释,当然用中文起名是不符合代码规范的。
中文名作为变量是从JDK1.5后加的新特性
楼主应该是用的JDK1。5或者是JDK1。6吧
程序是没有错的但为了兼容最好是不要用中文名做变量
\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0067\u006c\u0079
\u007b\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020
\u0020\u0020\u0020\u0020\u0073\u0074\u0061\u0074\u0069\u0063
\u0076\u006f\u0069\u0064\u0020\u006d\u0061\u0069\u006e\u0028
\u0053\u0074\u0072\u0069\u006e\u0067\u005b\u005d\u0020\u0020
\u0020\u0020\u0020\u0020\u0061\u0072\u0067\u0073\u0029\u007b
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074
\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0020
\u0022\u0048\u0065\u006c\u006c\u006f\u0020\u0077\u0022\u002b
\u0022\u006f\u0072\u006c\u0064\u0022\u0029\u003b\u007d\u007d把上面的一段复制到新建的 Ugly.java 文件中,编译后再运行………
代码引自《Java解惑》。
楼主说的:我记得在初学JAVA的时候,变量名就一定只能是英文字母和数字,而且一定要英文字母开头的啊?怎么会这样呢?这是不对的,Java 中有两个现成的静态方法可以判断哪个字符可以作为标识符中的字符:Character.isJavaIdentifierStart(char)
看看某个字符是否能作为 Java 标识符的第一个字符Character.isJavaIdentifierPart(char)
看看某个字符是否能作为 Java 标识符中后面的字符汉字属于 Unicode 字符,Java 从一设计开始就是支持 Unicode 的,
因此使用一些 Unicode 字符作为标识符也是可行的。
Java是编译成了unicode
"变量名就一定只能是英文字母和数字,而且一定要英文字母开头"这只是java的变量命名规范.