我在游戏的主菜单中定义了一个按钮,点击弹出对话框,用来让玩家选择难度,“简单”,“中等”,“较难”,随后我将玩家选择的结果放在activity的私有变量中用putextra传给另一个activity,想用switch来判断是哪个难度,分别设置一个参数的值,但是我发现jdk1.6不支持switch(string),jdk1.7支持了但是android不支持1.7,我查了网上有个办法教把要判断的东西通过enum类转换一下,我的情况跟那个不一样。我还试过用字符串的hashcode来判断两个字符是否相同,也不行。请问各位有什么办法能解决这个问题否?谢谢!!!

解决方案 »

  1.   

    就是一个变量存储而已,为什么不定义为Int呢?不同值对应不同的难度,也能向下兼容switch。。
      

  2.   

    可以 if   else if  你懂得  
      

  3.   

    像这样的变量最好都用int类型。
    如果为了防止用户使用修改器等,修改金钱之类的数值,可以使用string,只不过转换起来麻烦一些。
      

  4.   

    字符串不能使用switch case。
      

  5.   

    如果非要使用字符串的话,你可以把字符串和int建立一个可逆的映射表,然后使用int,这样就可以使用switch case了。
      

  6.   

    同意楼上的,可以使用Propertie来建立int与string的映射
      

  7.   

    对啊 字符串本来就不支持,使用int多好啊
      

  8.   

    最好用int字符串那东西容易出错的
      

  9.   

    switch(Integer.parseInt(string))不就好了嘛
      

  10.   

    通过映射来实现,在A activity里面把string值对应成int值, 在switch里面直接引用int值,就可以剥离开来。
      

  11.   

    两个activity里面都定义下,这样看起来也清楚
    final static int EASY = 0;
    final static int NORMAL = 1;
    final static int HARD = 2;
      

  12.   

    可以定义在常量类里面public static final static int EASY = 0;
    public static final static int NORMAL = 1;
    public static final static int HARD = 2;
      

  13.   

    谢谢楼上的各位,我的问题解决了。就是像各位说的用int0,1,2分别代表三个状态。感谢大家的热心帮助!!!!!!