String变量应该定义在方法外还是方法内
来源:互联网 发布:电脑网络链接别人电脑 编辑:程序博客网 时间:2024/04/30 17:09
描述
之前有做过测试String变量定义在方法外和方法内地址是一样的。但是时间久了,自己又怀疑了,所以开了这篇博客,记录下
结果
变量定义在方法内与方法外是一样的,测试代码如下
测试代码
代码
/** * @author :renpan * @version :v1.0 * @class :com.luomo.shopping * @date :2016-04-01 10:30 * @description:测试类 */public class Test { public static void main(String[] args) { String st="123"; //---调用一般方法 new Test().stringParameter("0"); new Test().stringParameter("1"); new Test().stringParameter("1"); new Test().stringParameter("2"); new Test().stringParameter(st); new Test().stringParameter(st); //---调用静态方法 staticStringParameter("0"); staticStringParameter("1"); staticStringParameter("1"); staticStringParameter("2"); staticStringParameter(st); staticStringParameter(st); } //---一般方法 private String fs; private void stringParameter(String st) { System.out.println("Test.stringParameter----------传入的参数值:"+st); System.out.println("Test.stringParameter 传入的参数地址:"+st.hashCode()); String ps = st; System.out.println("Test.stringParameter 方法中变量地址:"+ps.hashCode()); fs = st; System.out.println("Test.stringParameter 全局变量地址:"+fs.hashCode()); } //---静态方法 private static String sfs;//static field string private static void staticStringParameter(String st) { System.out.println("Test.staticStringParameter----------传入的参数值:"+st); System.out.println("Test.staticStringParameter 传入的参数地址:"+st.hashCode()); String sps = st;//static parameter string System.out.println("Test.staticStringParameter 方法中变量地址::"+sps.hashCode()); sfs = st; System.out.println("Test.staticStringParameter 全局变量地址::"+sfs.hashCode()); }}
输出信息
Test.stringParameter----------传入的参数值:0Test.stringParameter 传入的参数地址:48Test.stringParameter 方法中变量地址:48Test.stringParameter 全局变量地址:48Test.stringParameter----------传入的参数值:1Test.stringParameter 传入的参数地址:49Test.stringParameter 方法中变量地址:49Test.stringParameter 全局变量地址:49Test.stringParameter----------传入的参数值:1Test.stringParameter 传入的参数地址:49Test.stringParameter 方法中变量地址:49Test.stringParameter 全局变量地址:49Test.stringParameter----------传入的参数值:2Test.stringParameter 传入的参数地址:50Test.stringParameter 方法中变量地址:50Test.stringParameter 全局变量地址:50Test.stringParameter----------传入的参数值:123Test.stringParameter 传入的参数地址:48690Test.stringParameter 方法中变量地址:48690Test.stringParameter 全局变量地址:48690Test.stringParameter----------传入的参数值:123Test.stringParameter 传入的参数地址:48690Test.stringParameter 方法中变量地址:48690Test.stringParameter 全局变量地址:48690Test.staticStringParameter----------传入的参数值:0Test.staticStringParameter 传入的参数地址:48Test.staticStringParameter 方法中变量地址::48Test.staticStringParameter 全局变量地址::48Test.staticStringParameter----------传入的参数值:1Test.staticStringParameter 传入的参数地址:49Test.staticStringParameter 方法中变量地址::49Test.staticStringParameter 全局变量地址::49Test.staticStringParameter----------传入的参数值:1Test.staticStringParameter 传入的参数地址:49Test.staticStringParameter 方法中变量地址::49Test.staticStringParameter 全局变量地址::49Test.staticStringParameter----------传入的参数值:2Test.staticStringParameter 传入的参数地址:50Test.staticStringParameter 方法中变量地址::50Test.staticStringParameter 全局变量地址::50Test.staticStringParameter----------传入的参数值:123Test.staticStringParameter 传入的参数地址:48690Test.staticStringParameter 方法中变量地址::48690Test.staticStringParameter 全局变量地址::48690Test.staticStringParameter----------传入的参数值:123Test.staticStringParameter 传入的参数地址:48690Test.staticStringParameter 方法中变量地址::48690Test.staticStringParameter 全局变量地址::48690
0 0
- String变量应该定义在方法外还是方法内
- 应该在嵌套块内定义变量.
- java 类和对象、方法内定义变量、 构造方法
- 在方法中定义内部类
- 在方法中定义内部类
- 方法内部lambda表达式中若用到变量,若在方法内lambda外,则只能为final,或者定义为全局变量
- 在LaTeX,有没有方法定义变量?
- 为什么在方法中定义的内部类只能访问方法中的final类型的局部变量?
- 为什么在方法中定义的内部类只能访问方法中的final类型的局部变量?
- 关于在onCreate()方法中定义变量和在方法体外定义变量的区别
- 变量应该在循环之内,还是应该在循环之外。
- 方法内变量
- [Unity&对象]怎么理解变量public 还是private ,还是使用getset方法定义
- php 变量定义方法
- php 变量定义方法
- vb变量定义方法
- php 变量定义方法
- php 变量定义方法
- centos下mongodb3.2数据库的备份与恢复初步
- Ubuntu下apt-get命令详解
- canny算子的理论分析 .
- 读取qualcom cpu 信息
- pragma mark 的使用
- String变量应该定义在方法外还是方法内
- Oracle Linux 4-5-6-7 在线YUM 挂载
- runloop 的运行原理
- Spark面对OOM问题的解决方法及优化总结
- JavaScript 10分钟入门
- Git常用命令
- BZOJ_P1597 [Usaco2008 Mar]土地购买(斜率优化DP)
- Caravel数据勘探平台搭建
- 加入of_ (device tree操作api) 的platform驱动编写 基于gpio-keys