Java if语句未实现

Java if语句未实现,java,if-statement,Java,If Statement,我对Java有点生疏了。我有一个具有多个值的数组,其中一个值用于if语句 这是我正在检查的一个字符,它不工作的事实让我相信它可能是一个空白问题。数据来自一个mysql数据库,我已经尝试在查询中使用trim来去除任何空白,但没有成功 代码如下: Payoff payoff=new PlainVanillaPayoff(Option.Type.Put,Strike); if(inputData[8] == "C"){ System.out.println("TypeCall");

我对Java有点生疏了。我有一个具有多个值的数组,其中一个值用于if语句

这是我正在检查的一个字符,它不工作的事实让我相信它可能是一个空白问题。数据来自一个mysql数据库,我已经尝试在查询中使用trim来去除任何空白,但没有成功

代码如下:

  Payoff payoff=new PlainVanillaPayoff(Option.Type.Put,Strike);
  if(inputData[8] == "C"){
      System.out.println("TypeCall"); // Check to see whether if stmt is ever true.
      payoff=new PlainVanillaPayoff(Option.Type.Call,Strike);
  } else{}
if语句中调用的print语句从不打印


有什么建议吗?

这是因为您正在使用==比较字符串。你应该使用equals


这是因为您正在使用==比较字符串。你应该使用equals


假设代码已编译,问题是您正在将字符串与==;您应该使用或有时需要:


Java中的字符串是对象,并且==运算符比较对象标识两个变量是否包含相同的对象引用,而不是对象的内容。

假设代码已编译,问题是您将字符串与==;您应该使用或有时需要:

Java中的字符串是对象,并且==运算符比较对象标识两个变量是否包含相同的对象引用,而不是对象的内容。

如果inputData[8]是字符串,则应使用equals方法,而不是==:

此外,如果'inputData[8]1为空,则将C放在第一位可确保不会出现空指针异常。

如果inputData[8]是字符串,则应使用等于方法,而不是==:


另外,如果'inputData[8]1为空,则将C放在第一位可确保不会出现空指针异常。

如果inputData为字符串[],则应使用inputData[8]。equalsC。如果不是字符串[],则永远不会填充,因为它们是不同的类型:

如果inputData是字符串[],则应使用inputData[8]。equalsC。如果不是字符串[],这将永远不会填满,因为它们是不同的类型:

如果inputData的类型是字符串[],那么我猜您的问题是您正在比较引用而不是使用.equals函数

正确:

if(inputData[8].equals("C"))

如果inputData的类型是String[],那么我猜您的问题是比较引用,而不是使用.equals函数

正确:

if(inputData[8].equals("C"))

数组是字符串数组还是字符数组

在if子句中,您需要在与字符串进行比较时使用,或者在使用char进行比较时使用

如果是字符串,请在if子句中尝试类似的内容

stringname.charAt(x) == 'C'

数组是字符串数组还是字符数组

在if子句中,您需要在与字符串进行比较时使用,或者在使用char进行比较时使用

如果是字符串,请在if子句中尝试类似的内容

stringname.charAt(x) == 'C'

如果inputData是字符数组

if(inputData[8] == 'C') should solve it.
否则,您可以尝试查看它是否确实包含c

Payoff payoff=new PlainVanillaPayoff(Option.Type.Put,Strike);
  if(inputData[8] == "C"){
      System.out.println("TypeCall"); // Check to see whether if stmt is ever true.
      payoff=new PlainVanillaPayoff(Option.Type.Call,Strike);
  } else{ System.out.println("inputData[8] contains: ->" + inputData[8] + "<-");}

如果inputData是字符数组

if(inputData[8] == 'C') should solve it.
否则,您可以尝试查看它是否确实包含c

Payoff payoff=new PlainVanillaPayoff(Option.Type.Put,Strike);
  if(inputData[8] == "C"){
      System.out.println("TypeCall"); // Check to see whether if stmt is ever true.
      payoff=new PlainVanillaPayoff(Option.Type.Call,Strike);
  } else{ System.out.println("inputData[8] contains: ->" + inputData[8] + "<-");}

inputData数组存储什么?这个问题已经被问过很多次了-右侧的“相关”列表中有一些示例。在提交问题之前,请做更多的研究。inputData数组存储了什么?这个问题已经被问过很多次了-右侧的“相关”列表中有一些示例。请在提交问题之前做更多的研究。