Java @ 批注 整理集合

1. @SerializedName

  • 用作转化json字符串的快捷方式,首先需要引入Gson方法,我自己个认为呢,这个方法主要是将字符串转化成类的功能。(是反序列化?)
  • 如何使用该SerializedName,对于android来说,首先需要引入Gson的包(见下文),需要解析字符串的类,在对应的类成员的上面添加@SerializedName("名称"),然后调用gson的方法,即可以将该字符串转化为该类的对象。
    1. 首先在gradle中添加,引入gson
      compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
    2. 其次在要生成的类中添加批注
    public class Sister {
      @SerializedName("_id")
      private String _id;
      @SerializedName("createdAt")
      private String createAt;
      @SerializedName("desc")
      private String desc;
      @SerializedName("publishedAt")
      private String publishedAt;
    }
    
    1. 调用Gson方法,生成相应的对象
    Gson gson = new Gson();
    Sister sister = gson.fromJson(content, Sister.class);
    

2. @Nullable

  • 参数可为null

3. @TargetApi

  • @TargetAPI 对应android.annotation.TargetApi,与它相似的注解还有@SuppressLint,作用都是告诉编译器:你可以忽略掉lint错误了,我用高于minSdk的api又咋滴?要你管啊~我不怕啊
  • 如果整个类都是新的api的版本,你就可以把@Target标注移除掉。
  • 所以targetAPI的作用只是让高于minSDK版本的方法编译不报错。
  • 综上,@Target的作用在于提示:使用高编译版本的代码,为了通用性兼容运行此代码的低版本平台。要求程序员做出区分对待的加载。如用内部类等方式区分加载
  • 比如你的androidmanifest设置了minsdkversion为8,那么你在代码中使用了高于api8的代码,就算你用的是4.4的sdk进行的代码编译,只要你没使用@TargetApi,很抱歉,运行android lint直接就显示错误提示。这个时候我们该怎么办呢?就是在方法或类的开头写上@TargetApi(xx)。如果你下面的代码要在api13的情况下运行,那么xx处你就填写13。不能填低了,填低了,还是报错。
  • 这和@SuppressLint("NewApi")不一样。suppress只告诉lint,我这代码如果高于你的minsdkversion,那么请忽略编译错误。

4. @Deprecated

  • 表示该类已经弃用了,或者是不推荐使用该类方法。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 做了管理之后,免不了要定一些规则,过程中看了些书,自己思考了一些,也跟朋友讨论过一些,稍稍总结一下 我目前总结的规...
    佛右扯阅读 326评论 0 0
  • 4个时期,4组人物。家与国,生与死,恶与善,情与义,讲到底还是告诉我们不忘初心,遵循自己的本心。
    长腿喵儿阅读 108评论 0 0
  • 一、Block 它是带有局部变量的匿名函数,它是一段代码块,与C语言中的函数指针类似,可当做参数进行传值,且可以没...
    夏天的枫_阅读 1,463评论 0 7
  • 《这么近,那么远》 文/白传英 清明节到了 我来到父母坟前 亲情这么近 岁月那么远 爱的人就在身边 我不敢...
    白清风阅读 360评论 3 2
  • 1 注意力是我们每个人最宝贵的资源,因为每个人的时间都是有限的,每个人的注意力却是不同的,正是因为不同的注意力差异...
    猫姐原创阅读 269评论 0 0

友情链接更多精彩内容