Java Flex远程处理-在数据序列化期间更改对象名称

Java Flex远程处理-在数据序列化期间更改对象名称,java,apache-flex,Java,Apache Flex,在将数据(数据序列化)从Java(服务器)传递到Flex(客户机)时,对象的名称正在更改。请查看下面的详细信息 爪哇波乔 Java远程类 当我调试并观察Expression ReturnData时,我得到以下结果 ReturnData [0] column1 "1" column2 "2" 虽然过程都正确,值也都正确,但ReturnData索引0的对象名称从Column1更改为Column1,从Column2更改为Column2 我认为这是通过FlexAMF数据

在将数据(数据序列化)从Java(服务器)传递到Flex(客户机)时,对象的名称正在更改。请查看下面的详细信息

爪哇波乔 Java远程类 当我调试并观察Expression ReturnData时,我得到以下结果

ReturnData
  [0]
     column1   "1"
     column2   "2"
虽然过程都正确,值也都正确,但ReturnData索引0的对象名称从Column1更改为Column1,从Column2更改为Column2

我认为这是通过FlexAMF数据系列化实现的。如何防止它,使我可以得到Coulmn1作为专栏1等。如果不是,它背后的概念是什么


提前感谢。

是的,这是因为BlazeDS使用JavaBean命名约定

首先,在Java中,不能以大写字母开头命名类的成员(字段、方法)

其次,遵循封装原则,将字段私有化,并使用getter/setter对其进行修改,这是一个很好的实践

在您的情况下,情况如下:

public class MSC
{
   private String column1;
   private String column2;

   public String getColumn1(){
      return column1;
   }

   public void setColumn1(String value) {
      column1 = value;
   }  

   public String getColumn2(){
      return column2;
   }

   public void setColumn2(String value) {
      column2 = value;
   } 
}

但一般来说:不要以大写字母开头变量。

第一个问题:字段名以大写字母开头有多重要?因为还有一个Flex/ActionScript编码约定(),它不允许以大写字母开始命名变量和字段。这并不重要,但必须根据编码约定进行更改。感谢您的及时回复,我们将参考文档。
var ReturnData:ArrayColelction = event.result as ArrayCollection;
ReturnData
  [0]
     column1   "1"
     column2   "2"
public class MSC
{
   private String column1;
   private String column2;

   public String getColumn1(){
      return column1;
   }

   public void setColumn1(String value) {
      column1 = value;
   }  

   public String getColumn2(){
      return column2;
   }

   public void setColumn2(String value) {
      column2 = value;
   } 
}