项目中用java遇到的一些问题
<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个枚举常量