热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

局部变量是冗余intellij

如何解决《局部变量是冗余intellij》经验,为你挑选了1个好方法。

在方法体的末尾(在{和}之间)声明的任何变量都将被删除(垃圾收集).(除非您将其设置为未在方法体中创建的内容)

您在运行时创建变量"amount":

 double amount;

此时您已创建变量但从未为其分配值.第一次使用此变量位于return语句中:

return (amount = reader.nextDouble());

你应该做的是在与声明相同的行上分配变量:

public static double getAmount(){
    Scanner reader = new Scanner(System.in);
    System.out.println("random text");
    double amount  = reader.nextDouble();
    return amount;
}

或者,更好的是,根本不要使用变量(尽管它可以提高代码的可读性,在这种情况下可以保留一个有效点):

public static double getAmount(){
        Scanner reader = new Scanner(System.in);
        System.out.println("random text");

        return reader.nextDouble();
    }

为什么Intellij警告我?
Intellij只是告诉你最后你的变量没有被使用(它不是)所以删除变量声明是安全的.

但是,如果你将鼠标悬停在你的代码行开头出现的小灯泡上,Intellij也应该为你提供一个解决方案.一个例子: 在此输入图像描述



1> Rick van Lie..:

在方法体的末尾(在{和}之间)声明的任何变量都将被删除(垃圾收集).(除非您将其设置为未在方法体中创建的内容)

您在运行时创建变量"amount":

 double amount;

此时您已创建变量但从未为其分配值.第一次使用此变量位于return语句中:

return (amount = reader.nextDouble());

你应该做的是在与声明相同的行上分配变量:

public static double getAmount(){
    Scanner reader = new Scanner(System.in);
    System.out.println("random text");
    double amount  = reader.nextDouble();
    return amount;
}

或者,更好的是,根本不要使用变量(尽管它可以提高代码的可读性,在这种情况下可以保留一个有效点):

public static double getAmount(){
        Scanner reader = new Scanner(System.in);
        System.out.println("random text");

        return reader.nextDouble();
    }

为什么Intellij警告我?
Intellij只是告诉你最后你的变量没有被使用(它不是)所以删除变量声明是安全的.

但是,如果你将鼠标悬停在你的代码行开头出现的小灯泡上,Intellij也应该为你提供一个解决方案.一个例子: 在此输入图像描述


推荐阅读
author-avatar
大伙没事偷着乐吧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有