【发布时间】:2016-07-07 19:40:21
【问题描述】:
我有 2 个变量,根据 if else 的某些情况,我要么使用带有第一个变量 variable1 的代码,要么使用带有第二个变量 variable2 的代码.
这两个变量都被声明为 final,我只在条件下分配它们,我对它们使用不同的语句。
关于如何禁用这两个语句的 android 警告的任何想法?
在 if 或 else 中初始化变量后,是否有任何其他方法可以在不使用 asserts 或 检查变量是否具有值 null 的情况下执行此操作?
我非常确定我的代码确实可以工作,而且我无法使用未初始化的变量,我更喜欢只禁用这些语句而不是整个项目的警告的方法。
哪种方式是最好的实现方式?
private static class foo {
private final objectwhatever variable1;
private final objectwhatever variable2;
public foo(){
if ( condition 1)
{
variable1 = new objectwhatever();
statements in variable1
}
else ( condition 2)
{
variable2 = new objectwhatever();
statements in variable2
}
}
}
【问题讨论】:
-
如果两个变量的类型相同,那么为什么要首先创建两个不同的变量?我不明白这里的用例。
-
您没有提供准确(甚至有效)的代码。特别是,您可能没有“默认”其他条件。
-
你为什么不只使用一个'objectwhatever'类型的变量并在你的构造函数中初始化它?
-
长话短说,是同一类。一旦它通过 android native 导入,一个作为我的外部库。当 android native 不适用于高于或等于 18 的 api 级别时,我需要第二个。相信我,这些信息足以满足我想要的答案。该类虽然相同,但已重命名,因此它们不会冲突。
标签: java android android-studio android-lint