Java注释代码执行方法解析
直接上代码:
@Test public void testUnicode() { String a = "Hello"; // \u000d a="world"; System.out.println(a); // \u000a a="hello world!"; System.out.println(a); }
猜一猜,最后会输出什么?
world
hello world!
是的,没看错,那二行看似“注释掉的代码”,被执行了!
原因:java编译器会处理unicode字符,\u000d以及\u000a 正好对应“\r”回车、“\n”换行,经过编译器处理后,等效于下面的代码:
@Test public void testUnicode() { String a = "Hello"; // a="world"; System.out.println(a); // a="hello world!"; System.out.println(a); }
个人建议:正式项目中,严禁在注释中使用这一类unicode字符,否则如果利用这个特性干点坏事,埋个坑,基本上很难发现!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Java Servlet响应httpServletResponse过程详解
HttpServletResponse是处理http响应的对象,调用该对象的方法,设置到对象属性的内容,tomcat最终会组织为http响应报文2022-02-02IDEA “Cannot resolve symbol”爆红问题解决
最近发现个问题,IDEA 无法识别同一个 package 里的其他类,将其显示为红色,本文就来介绍一下IDEA “Cannot resolve symbol”爆红问题解决,感兴趣的可以了解一下2023-10-10如何在spring boot项目中使用Spring Security的BCryptPasswordE
本文介绍如何在Spring Boot项目中通过修改pom.xml引入安全依赖,添加配置类以解除默认的HTTP请求拦截,以及如何创建BCryptPasswordEncoder对象进行密码的加密和匹配,通过这些步骤,可以有效地增强应用的安全性2023-08-08详解Java的JDBC中Statement与PreparedStatement对象
这篇文章主要介绍了详解Java的JDBC中Statement与PreparedStatement对象,PreparedStatement一般来说比使用Statement效率更高,需要的朋友可以参考下2015-12-12
最新评论