java:如何为char分配自定义值

时间:2011-11-04 04:53:46

标签: java

 char c = formbean.getOptionType().value().charAt(0)

嗨,上面的行要么返回'P',要么'C'。 所以char c的值可以是'P'或'C'。

现在,我的问题是,我不是分配'P'或'C'值,而是分别指定0或1。

(例如,如果值为'P',我需要将其指定为0,如果值为'C',则需要将其指定为1)。

4 个答案:

答案 0 :(得分:0)

if (formbean.getOptionType().value().charAt(0) == 'P')
    char c = 0;
else if (formbean.getOptionType().value().charAt(0) == 'C')
    char c = 1;

答案 1 :(得分:0)

如果'P'和'C'是唯一返回的值,那么这样的事情就可以了......

char c = (formbean.getOptionType().value().charAt(0) == 'P')?'0':'1';

这就是你想要的吗?

答案 2 :(得分:0)

我不太确定这是否是您想要的,但您可以直接将整数值分配给char类型,如下所示:

char c = (char) ((formbean.getOptionType().value().charAt(0) == 'P') ? 0 : 1);

但是,由于这不是非常直观且不易于阅读,因此将其重构为方法可能是更好的做法:

private char getOptionTypeChar(char aChar) {
  if (aChar == 'P') {
    return 0;
  }
  return 1;
}

然后简单地称之为:

char c = getOptionTypeChar(formbean.getOptionType().value().charAt(0));

答案 3 :(得分:0)

答案取决于:变量c代表什么以及如何使用?

如果您想要0或1,那么intboolean可能是要分配的更好的变量类型。在任何情况下,最明显的做法是使用if / else语句。这是一个假设你想要0或1的例子,这样你就可以做出决定(正如我所说,这取决于你打算用c做什么):

char c = formbean.getOptionType().value().charAt(0);
boolean goLeft;

if (c == 'C') {
    goLeft = true;
} else if (c == 'P') {
    goLeft = false;
} else {
    // Handle error maybe
}

if (goLeft) {
    // Go left
} else {
    // Go right
}