Java 在android studio调试器中,枚举的计算结果为null
我在Android项目中遇到了一个关于枚举的奇怪问题。我做了很多搜索,没有找到任何与我所看到的相似的东西。问题是:我创建了一个新的android项目,发现我的应用程序在一个枚举上崩溃了。在调查中,似乎我在调试器中使用的每一个枚举的计算结果都为null。我做了一个简单的例子来说明我所看到的:Java 在android studio调试器中,枚举的计算结果为null,java,android,android-studio,debugging,enums,Java,Android,Android Studio,Debugging,Enums,我在Android项目中遇到了一个关于枚举的奇怪问题。我做了很多搜索,没有找到任何与我所看到的相似的东西。问题是:我创建了一个新的android项目,发现我的应用程序在一个枚举上崩溃了。在调查中,似乎我在调试器中使用的每一个枚举的计算结果都为null。我做了一个简单的例子来说明我所看到的: public class foo { public enum fdsa { one, two, three } public foo()
public class foo
{
public enum fdsa {
one,
two,
three
}
public foo() {
fdsa state;
state = fdsa.two;
switch (state) {
case one:
Toast.makeText(mAsdfView.getContext(), "one called", Toast.LENGTH_SHORT).show();
break;
case two:
Toast.makeText(mAsdfView.getContext(), "two called", Toast.LENGTH_SHORT).show();
break;
}
当我在案例2中放置断点并将光标悬停在枚举上时,它显示为null。它对我在项目中使用的每个枚举都这样做
我不知道如何继续下去。Enum在我用作此项目基础的项目中工作得很好。我在想这可能是一个出发点还是什么?我有调试器可供使用,但我不知道如何使用它。希望有人对如何继续有任何建议或提示?您将鼠标悬停在case语句上,而不是enum变量本身(即
状态
)。它不是一个变量,所以我不知道为什么调试器在这里显示任何东西-它看起来像一个bug-但是如果您检查状态
,而不是将鼠标悬停在case语句上,而不是枚举变量本身(即状态
),它应该显示正确的值。它不是一个变量,所以我不知道为什么调试器会在这里显示任何东西-它看起来像一个bug-但是如果您检查状态而不是two
,它应该显示正确的值。非常感谢您向我指出这一点。我的应用程序崩溃了,当我进入调试器时,它显示enum为null,这让我觉得这就是问题所在。在你的评论之后,我从另一个角度看了看,并找出了问题所在。非常感谢你向我指出这一点。我的应用程序崩溃了,当我进入调试器时,它显示enum为null,这让我觉得这就是问题所在。在你的评论之后,我从另一个角度看了看,并找出了问题所在。