考虑到手机端开发环境的限制(尤其是 iOS 系统),以及保持接口定义的简单,服务端在定义移动服务接口时,不能使用 Java 语法的全集。接口定义规范涉及三类定义:
错误的写法:
public class Req {
private Map<String,List<Person>> map; //容器类型不能多层嵌套。
private List<Map<Person>> list; //容器类型不能多层嵌套。
private List list1; //List 或 Map 必须有泛型信息。
private Map map1; //List 或 Map 必须有泛型信息。
private List<Person[]> listArray; //List 或 Map 的泛型信息不能是 Array 类型。
private byte b; //不能为单字节
private Person[] personArray; //不支持对象数组,请用 List 代替
private String description; //属性名不能为 description
}
boolean, char, double, float, int, long, short
java.lang.Boolean
java.lang.Character
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.Long
java.lang.Short
java.lang.String
java.util.List,但:必须使用类型参数;不能使用其具体子类 以下简称 List
java.util.Map,但:必须使用类型参数;不能使用其具体子类;key 类型必须是 String 以下简称 Map
Enum
byte[]
正确的写法:
public class Req {
private String s = "ss";
private int i;
private double d;
private Long l;
private long l1;
private boolean b;
private List<String> stringList;
private List<Person> personList;
private Map<String,Person> map;
private byte[] bytes;
private EnumType type;
}
public class Person {
private String name;
private int age;
不可以引用:
可以引用:
如下是错误示例:
Map<String,String[]>
Map<String,List<Person>>(Person为一个具体的实体类)
List<Map<String,Persion>>
List<Persion[]>
不可以引用:
可以引用:
不可以引用:
可以引用:
final static int 定义的常量(其它不符合该要求定义的常量或静态变量将被忽略)。
is
开头的成员变量定义。
在文档使用中是否遇到以下问题
更多建议
匿名提交