Java 比较数据向量

Java 比较数据向量,java,sql,vector,Java,Sql,Vector,程序首先将类型从sql加载到vector。然后它将与字符串a进行比较。如果类型中的值等于a,它将返回0.1。如果不是,它将返回0.0 但是当我编译时,我得到这个输出,即使a等于Type。为什么? 代码 这段代码10/100执行Java的整数除法,因为两个操作数都是整数。由于除以整数必须产生整数,因此结果是截断的整数-0。将结果分配给double并不重要;分裂已经在那时发生了 使用双文本: 或将操作数强制转换为双精度: 或者直接初始化它: c = 0.1; 另一个问题是,您正在尝试将名为r的Ar

程序首先将类型从sql加载到vector。然后它将与字符串a进行比较。如果类型中的值等于a,它将返回0.1。如果不是,它将返回0.0

但是当我编译时,我得到这个输出,即使a等于Type。为什么?

代码

这段代码10/100执行Java的整数除法,因为两个操作数都是整数。由于除以整数必须产生整数,因此结果是截断的整数-0。将结果分配给double并不重要;分裂已经在那时发生了

使用双文本:

或将操作数强制转换为双精度:

或者直接初始化它:

c = 0.1;
另一个问题是,您正在尝试将名为r的ArrayList与名为a的字符串进行比较。ArrayList永远不会等于字符串。不清楚为什么创建一个只有一个元素的ArrayList只是为了将该元素与数据库返回的元素进行比较。没必要。直接比较字符串

// May want to check for null here.
String r = rs.getString("Type");
if (a.equals(r))
{

我对我的答案补充了更多。
10.0/100
(double) 10/100
c = 0.1;
// May want to check for null here.
String r = rs.getString("Type");
if (a.equals(r))
{