Variable may not have been initialized

当你在方法中定义s时,你必须在某个地方初始化它,程序中的每个变量在使用它之前必须有一个值.

另一件重要的事情是,您的代码永远不会像您预期的那样工作

java中的字符串是不可变的,因此您无法编辑String,因此您应该更改方法编辑(Str s).

我将你的代码更改为这样的东西,但我认为你的编辑方法应该做另一件事,而不是返回“hallo”.

void create(){

String s=null;

s =edit(); // passing a string to edit now have no sense

System.out.println(s);

}

// calling edit to this method have no sense anymore

String edit(){

return "hallo";

}

看到这个简单的示例,显示java是按值传递的.我不能只用字符串做一个例子,因为字符串是不可改变的.所以我创建了一个包含String的包装类,该String可以看到差异.

public class Test{

static class A{

String s = "hello";

@Override

public String toString(){

return s;

}

}

public static void referenceChange(A a){

a = new A(); // here a is pointing to a new object just like your example

a.s = "bye-bye";

}

public static void modifyValue(A a){

a.s ="bye-bye";// here you are modifying your object cuase this object is modificable not like Strings that you can't modify any property

}

public static void main(String args[]){

A a = new A();

referenceChange(a);

System.out.println(a);//prints hello, so here you realize that a doesn't change cause pass by value!!

modifyValue(a);

System.out.println(a); // prints bye-bye

}

}

java 尚未初始化变量_java – “变量可能尚未初始化”相关推荐

  1. java变量的定义_Java变量_Java变量概念定义

    Java变量_Java变量概念定义 Java变量定义 java变量包含静态变量(static Variable).成员变量()和局部(local Variable )变量三种.其实,也可以说两种,静态 ...

  2. java 初始化数组_java如何实现数组初始化

    java实现数组初始化的方法:1.动态初始化,格式[数据类型 [ ] 数组名称 = new 数据类型[数组长度]]:2.静态初始化,格式[数据类型 [ ] 数组名称 = new 数据类型[ ]{元素1 ...

  3. java 静态方法 变量_Java变量的初始化及静态方法的实现

    这篇文章主要介绍了Java变量的初始化及静态方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.变量初始化 package treat; ...

  4. java变量_Java变量

    java变量 Java varargs was introduced in Java 1.5. Java varargs is also known as java variable argument ...

  5. Java参数变量_Java变量参数

    Java1.5添加新功能:可变参数:它适用于参数不确定性的数量,判断形势的类型.java变量参数数组操作. 特点: 1.今天的参数列表只能持续. 2.省略号(...)位于变量类型和变量名之间,前后有无 ...

  6. java 初始化数组_Java中数组的初始化

    一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...

  7. java 数组 初始化 个数_Java中数组的初始化

    一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...

  8. java二维数组初始化值_Java二维数组初始化的方法

    对于一个新使用的工具,我们会进行初步的初始化工具,目的是为了加上一些使用的配置.在学过了一维数组后,那么二维数组是加了一层维度的一维数组.在初始化方面,二维数组有三种方法,相信很多人只是掌握了其中的一 ...

  9. java数据的初始化失败_java – 处理Spring / Tomcat初始化失败

    目前,如果我们在Tomcat上托管的Spring应用程序的数据库不可用,则上下文初始化失败,所有请求都返回404. 什么是解决这个问题的好方法?我不希望应用程序在下一个Tomcat之前不可用,我希望它 ...

最新文章

  1. python回归分析预测模型_Python与线性回归模型预测房价
  2. 一只青蛙跳向三个台阶_青蛙跳台阶
  3. 二分法python上机实验报告_二分查找-Python刷题笔记
  4. Spark : ExitCodeException exitCode=15,exitCode=13
  5. 经济学专业向计算机方向创业,基于市场需求的经济学专业人才培养模式研究
  6. 联想网络同传的工作日志
  7. Django logging日志模块详解(日志记录模板配置)
  8. 光盘出租系统mysql_数据库课程设计--碟片出租系统
  9. 短视频完美开源源码 后台+APP双端源码
  10. alt+w热键组合无法使用
  11. 计算机网络中协议分层的目的是什么意思,网络协议分层的作用是什么
  12. matlab分栏画图,Tkinter编程应知应会(19)-分栏窗口控件PanedWindow
  13. 植物大战僵尸修改存档总结
  14. JAVA中的二维数组的定义及使用
  15. 基美新型小体积电感器磁芯
  16. 电脑键盘打字错乱怎么办?按键混乱的5种解决方法
  17. 服务器装系统进pe界面就死机了,进入PE后安装系统老是会卡住。是什么问题啊。...
  18. 电路模型和电路定律(Ⅰ)
  19. BVR电线与RV电线的区别有哪些?
  20. python加密规则ascii码值加5_Python使用编码加密输入数据

热门文章

  1. ubuntu安装以及启动nginx
  2. dell pc restore 修复计算机,如何创建和使用Dell Recovery Restore USB驱动器
  3. air什么意思中文_air
  4. js 删除对象数组中指定元素
  5. Spring的下载方法(2019.11)
  6. css position:absolute 父元素高度塌陷
  7. 爬取某东购买猪肉的用户评论,为生产经营提供了方向性参考
  8. 年薪百万的3D建模师真的存在吗?
  9. 【网络教程】如何安装inspect.exe
  10. Linux---Samba服务器配置