<center>项目中用java遇到的一些问题</center>
// fastjson 学习地址 https://www.w3cschool.cn/fastjson/fastjson-serializefilter.html
1. 引入jar包依赖
通过maven引入
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>VERSION_CODE</version> </dependency>
通过Gradle引入
compile 'com.alibaba:fastjson:VERSION_CODE'
注意:
- 使用fastjson出现json中键值与属性名不一致
fastjson的key是根据javabean里面的getter和setter方法来的,不是根据属性名的,所以会出现这个问题,你在属性的get和set方法上面写上标注,说明转成什么就行了比如 @JSONField(name=”SOMETHING”)
- 如何从 Java 中的字符串值中获取枚举值?
定义性别枚举
枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。使用枚举增加程序可读性、降低耦合性。
/**
* 性别枚举
*/
public enum Gender {
male("男"),female("女");
private String name;
private Gender(String name) {
this.name = name;
}
public String getName() {
return name;
}
} 枚举的基本方法
对于male枚举常量:
public class MyMain {
public static void main(String[] args) {
Gender gender = Gender.male; //
System.out.println(gender.toString()); //Gender.male枚举常量的名称
System.out.println(gender.getName());//Gender.male的name值
System.out.println(gender.ordinal());//Gender.male枚举常量的序数
}
}
output:
male
男
0 Enum与String的转化
String maleString = Gender.male.toString(); //Gender转化为String
Gender maleGender = Gender.valueOf("male"); //String转化为Gender,male对应Gender枚举的常量名称 Enum与int的转化
int maleInt = Gender.male.ordinal(); //Enum转化为int,返回枚举常量的序数 Gender maleGender2 = Gender.values()[0]; //int转化为Enum,返回第0个枚举常量



京公网安备 11010502036488号