Java 未使用该字段的值
就在Java 未使用该字段的值,java,eclipse,Java,Eclipse,就在private int count=0之前,我在eclipse上得到了上述警告 这是我的密码: package synchronise; public class Mysync { private int count=0; public Mysync() { // TODO Auto-generated constructor stub } public static void main(String[] args) {
private int count=0之前,我在eclipse上得到了上述警告代码>
这是我的密码:
package synchronise;
public class Mysync {
private int count=0;
public Mysync() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Mysync sync = new Mysync();
sync.dowork();
}
public void dowork(){
Thread mysync = new Thread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
for(int i=0; i<2000; i++){
// System.out.println()
count++;
}
}
});
Thread mysync2 = new Thread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
for(int i=0; i<2000; i++){
// System.out.println()
count++;
}
}
});
mysync.start();
mysync2.start();
try {
mysync.join();
mysync.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
包同步;
公共类Mysync{
私有整数计数=0;
公共Mysync(){
//TODO自动生成的构造函数存根
}
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
Mysync sync=新建Mysync();
sync.dowork();
}
公共工作{
Thread mysync=新线程(new Runnable()){
公开募捐{
//TODO自动生成的方法存根
对于(int i=0;i来说,count
的唯一用法是更新它-因为你从来没有用这个值做过任何事情,所以可以安全地删除它,以及增加它的位置。如果你想修复警告,就使用它
例如
警告将消失
警告表示编译代码时,优化可能会删除无用的代码
在这里,无用的代码意味着它和输出无关,因为软件就是输入
和输出。您声明了两个线程(mysync和mysync2,然后您对它们不做任何操作,这意味着count永远不会递增(即count是“未使用”)。这是一个警告,而不是一个错误。您可以在某处使用count
的值,当您递增count
时,您没有get、显示器或(如果
),请使用public int count=0;用于系统输出count@SamDeveloper,我们可以从公共方法访问私有变量。是否需要显式添加公共?如果nt要打印,那么var必须是公共的。。在我添加了System.out.println(count);
警告消失了,谢谢。
System.out.println(count);