blazeds将BigDecimal转换为字符串

我有一个Flex应用程序,它使用blazeds连接到Java后端。使用远程处理,我调用API以在Oracle数据库中的表(使用传统JDBC类)上运行SELECT语句。 该表有2列:
PRODUCT_CODE of type NVARCHAR2(32) and
DEMAND of type NUMBER(10, 0)
我的Java API如下:
public List<?> getQueryResult(String query) {
  Connection conn = DriverManager.getConnection(connStr, userName, password);
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery(query);

  ArrayList<?> result = new ArrayList<?>();
  while(rs.next()) {
    Object[] itemArray = new Object[2];
    itemArray[0] = rs.getObject(1);
    itemArray[1] = rs.getObject(2);
    result.add(itemArray);
  }

  return result;
}
在我的Flex方面,我有一个处理这个远程操作的结果事件:
private function onResult(e:ResultEvent) : void {
  var result:ArrayCollection = (e.result as ArrayCollection);
}
奇怪的是,与DEMAND列对应的值会自动转换为字符串(我调试后发现在后端,这些是BigDecimal) 有什么建议?     
已邀请:
确实如此,Java中的BigDecimal在ActionScript中转换为String,您可以在开发者指南中阅读。 ActionScript中没有BigDecimal,因此它是唯一的选项 - 您无法将任何BigDecimal转换为int或float。 如果您确定表示为NUMBER(10,0)的值具有区间-2,147,483,648 - 2,147,483,647中的值,则可以将其转换为java中的int - 请参阅下面的代码:
itemArray[1] = ((BigDecimal)rs.getObject(2)).intValue();
    

要回复问题请先登录注册