Android Studio 说“局部变量是多余的”[关闭]

2024-01-03

我收到关于许多方法的警告local variable is redundant.

这是一个示例方法:

public MyObject getMSListItem(int pos) {
    MyObject li = getItem(pos);
    return li;
}

现在看来,我想,我可以这样做来解决它:

public MyObject getMSListItem(int pos) {
    return  getItem(pos);
}

另一个例子:

public String getTeacher(int pos) {
    ffTeacherListItem t = getItem(pos);
    String teacher = t.teacher;
    return teacher;
}

看来这可能是:

public String getTeacher(int pos) {
    ffTeacherListItem t = getItem(pos);
    return t.teacher;
}

或者按照下面的建议,甚至更好!

public String getTeacher(int pos) {
    return  getItem(pos).teacher;
}

这真的有“最佳实践”吗?一种方法比另一种方法更好吗?或者只是为了代码的可读性而仅此而已?


这真的有“最佳实践”吗?是一种比 其他?或者只是为了代码的可读性而仅此而已?

简化说:在你的场景中没用的。这并没有错,但你为什么要这样做:

ffTeacherListItem t = getItem(pos);
String teacher = t.teacher;
return teacher;

当你可以做同样的事情时:

ffTeacherListItem t = getItem(pos);
return t.teacher;

或者你也可以这样做:

return getItem(pos).teacher;

All above do same but second and third code is cleaner and you should always try to write clean code without useless lines and references1. There is also unwritten rule - Less code, less errors.

1This is "advantage" of languages like C++ which don't have garbage collector and you are responsible for all objects and instances you'll create (their releasing from memory etc.). So you are thinking more before you'll decide to create new instance of some Object.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio 说“局部变量是多余的”[关闭] 的相关文章

随机推荐

  • Control.Monad.Writer 无法在 haskell 中工作

    我一整天都在尝试编译 Haskell 代码 再次 涉及 Control Monad Writer 这是一个无法编译的代码示例向你学习 Haskell http learnyouahaskell com for a few monads mo
  • 访问服务器上使用 WebClient.UploadData 发送的确切数据

    新手问题 我使用 WebClient UploadData 方法将字节数组形式的大文本字符串发送到网站 但我不确定从服务器上的确切位置检索该数据 我读过一些帖子 说它位于我已经知道的请求对象中 但我到底如何检索我发送的特定字节数组 如以下
  • Node.JS TCP 上的无界并发/流背压

    据我了解 Node 的事件 IO 模型的后果之一是 一旦连接了接收事件处理程序 或否则开始监听数据 如果接收器无法足够快地处理传入数据 则可能会导致 无限并发 即底层节点继续尽可能快地从套接字读取数据 在事件循环上调度新数据事件 而不是阻塞
  • javascript 对于全局声明的变量返回未定义[重复]

    这个问题在这里已经有答案了 我是 javascript 的初学者 我有一个疑问 我的代码如下所示 当我运行此命令时 第一个警报框显示 未定义 我不明白为什么 非常感谢 这是因为之后hoisting but 执行前 your foo 函数内部
  • 如何将Unicode编码的字符串转换为字母字符串

    我有一个转义的字符串Unicode http en wikipedia org wiki Unicode人物 uXXXX 我想将其转换为常规 Unicode 字母 例如 u0048 u0065 u006C u006C u006F World
  • 将单选按钮数据发送到下一个活动

    我试图允许用户输入他们的姓名 然后单击三个单选按钮之一 然后单击提交按钮 在下一个活动中 它将显示他们的姓名和他们选择的单选按钮 我已经设法发送名称 但我不确定如何发送单选按钮选择 有人可以帮忙吗 这是我在主要活动布局 xml 中的内容
  • Swift TDD 和异步 URLSession - 如何测试?

    我尝试熟悉 TDD 如何测试异步 URLSession 调用 哪种 XCAssert 更适合使用 在哪里 在哪个阶段 我的第一个想法是创建一个函数 其中包含 URLSession 并在该函数内将 bool 标志设置为 true 然后在 XC
  • Pip 在防火墙后无法工作

    我正在尝试从公司防火墙后面使用 pip 但没有任何运气 我已经设置了http proxy and https proxy环境变量 wget 可以工作 但 pip 不行 我尝试过这个 sudo E pip install virtualenv
  • 如何 gzip @font-face 示例?

    有人可以提供如何 gzip webfont 套件的示例吗 生成器为我提供了这段代码 需要改变什么 font face font family DesigersBold src url desib webfont eot src url de
  • 如何在Android应用程序中过滤Listview后获得正确的位置

    在我的应用程序中 当用户在搜索框中输入内容时 列表会被过滤 但列表项的位置会发生变化 由于用户单击列表项时位置发生了变化 因此会导致不必要的活动 因为我已经根据列表项的位置设置了事件 即使在过滤列表后 列表项 行是否有任何参数保持不变 No
  • Windows 8 - IE 无法访问主机文件中列出的站点

    我在 IIS 中设置了许多本地网站 并在主机文件中包含条目以 使这些网站在本地可用 我使用的是 Windows 7 机器 所有浏览器中的一切都运行正常 迁移到 Windows 8 在 IIS 中使用相同的主机文件和相同的网站似乎会导致 In
  • 如何在按键上提交表单?

    我用这个script http www javascripter net faq searchin htm在静态页面中搜索 但我希望在我输入文本时进行搜索 而不是在单击按钮时进行搜索 我进行了搜索 发现其中任何一个都可以工作 onkeypr
  • 将整列与列表中的值相乘

    我有一个非常大的数据框 希望将每列中的每个元素与列表中的值相乘 Name c1 c2 c3 c4 0 a1 1 2 2 3 1 a2 2 1 1 2 2 a3 3 1 2 1 3 a4 2 3 3 4 l 2 3 1 4 我想做的是将整个列
  • 未找到使用 Json 的类的序列化器

    我有一个基本的 Spring Boot 2 1 2 RELEASE 应用程序 使用Spring Initializr JPA 嵌入式Tomcat Thymeleaf模板引擎 并打包为具有restful架构的可执行JAR 我有一个在 Rest
  • 实体框架不支持 x.ToString()!

    实体框架无法识别我的将路由对象转换为特定字符串的 ToString 方法 public IEnumerable
  • Rails 小数精度和小数位数

    我在 Rails 应用程序中有大约 30 个表 并且有大约 6 个表我想更改一些小数列的精度和小数位数 您如何对现有的列进行此操作 您是否需要单独进行每个新的迁移 还是可以一次性完成所有迁移 change column table name
  • Xcode:如何使用每个配置不同的多个“显示名称”值?

    在 Xcode 中 我们使用多种配置来编译多个具有不同捆绑 ID 和显示名称的不同应用程序 虽然 Identity gt Bundle Identifier 正确显示灰色的 只读值 但这与 Identity gt Display Name
  • 列表理解过滤 - “set() 陷阱”

    一种相当常见的操作是过滤一个list基于另一个list 人们很快发现 x for x in list 1 if x in list 2 对于大输入来说速度很慢 它是 O n m 恶心 我们如何加快速度 用一个set进行过滤查找 O 1 s
  • 如何将系统时间格式化为字符串?

    看来我已经没有办法转了SystemTime成字符串 我必须使用SystemTime因为我需要从返回的值std fs Metadata created 您应该使用 Chrono 来获取格式支持 从 Chrono v0 4 0 开始 这变得更加
  • Android Studio 说“局部变量是多余的”[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我收到关于许多方法的警告local variable is redundant 这是一个示例方法 public MyObject getMSLi