我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java魔法值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java魔法值

一、什么是魔法值

魔法值,也叫做魔法数值、魔法数字,通常是指在代码编写时莫名出现的数字,无法直接判断数值代表的含义,必须通过联系代码上下文分析才可以明白,严重降低了代码的可读性。除数字之外,代码中作为key值的常量字符串也被认为是魔法值,尽管其表示含义比数值较为清晰,但是仍然会产生不规范问题。

if( flag = 5 ){a = 2;}

它在运行的时候不会报错,但在代码阅读时很难判断他所代表的含义

二、魔法值的影响
  • 代码的可读性下降。
  • 数值使用不规范,多处使用不统一,修改时工作量大且容易遗漏。
  • 常量字符串作为key时拼写错误,key值无对应value,导致数据异常或缓存无法命中
三、解决方法

定义静态常量

在当前类中使用或在方法内部使用的值, 可以通过定义静态常量的方式来避免魔法值的出现。

public final static Integer ENABLE=0;public final static Integer DISABLE=1;

接口中定义

接口中定义,继承这个接口的实现类都可以使用这些常量

public interface UserService{    public final static Integer ENABLE=0;    public final static Integer DISABLE=1;}

使用枚举

@Getter@AllArgsConstructorpublic enum DemoEnums {    ENABLE(0, "开启"),    DISABLE(1, "关闭");        private final Integer code;        private final String name;}

使用

user.setStatus(DemoEnums.ENABLE.value())

来源地址:https://blog.csdn.net/cang_ling/article/details/131667758

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java魔法值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2023-09-22

Java中的魔法值概念是什么

本文小编为大家详细介绍“Java中的魔法值概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中的魔法值概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Java中的魔法值背景使用IDEA时,
2023-06-29

深度解析HashMap:探秘Java中的键值存储魔法

文章目录 一、 **前言**1.1 介绍HashMap在Java中的重要性1.2 引出本文将深入挖掘HashMap的内部机制 二、 **HashMap的基本概念**2.1 什么是HashMap?2.2 为什么HashMap在
深度解析HashMap:探秘Java中的键值存储魔法
2023-12-22

透视 JavaScript 解构赋值:简化代码的魔法

在 JavaScript 中,通过解构赋值可以轻松地从对象和数组中提取值并将其存储到变量中,而无需使用临时变量。这种机制可以提高代码的可读性和简洁度,同时减少错误引入的可能性。本文将详细探讨 JavaScript 解构赋值的用法、优点和注意事项,帮助您充分利用这一便捷且强大的特性。
透视 JavaScript 解构赋值:简化代码的魔法
2024-02-11

Maven 降魔杵:Java 构建之斩妖除魔

Maven:Java 构建神器,降妖除魔,一统江湖
Maven 降魔杵:Java 构建之斩妖除魔
2024-03-06

【基本功】Java魔法类:Unsafe应用解析

大家好,我是程序员鼓励师美美~《基本功》专栏又上新了:Java中的Unsafe类在提升运行效率、增强底层资源操作能力方面有很大的用处。但如果在开发过程中使用不当,就会出现各种“莫名其妙”的问题。本篇文章将会带领你重新认识它,绕过“开发雷区”
2023-06-02

Java魔法解密:HashMap底层机制大揭秘

文章目录 一、 源码深度解析1.1 窥探Java集合框架中的设计思想1.2 逐行解读HashMap的源代码1.2.1 类信息1.2.2 常量属性1.2.3 变量属性1.2.4 节点信息1.2.5 构造方法1.2.6 put方法1.
Java魔法解密:HashMap底层机制大揭秘
2023-12-22

Python 魔法方法详解

据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Pyth
2023-01-31

Java JSON 处理的魔法:从基础到高级

从头剖析 Java 中 JSON 处理的奥秘,从基础概念到高级技巧,带你领略 JSON 处理的魔法,提升你的 Java 应用开发能力。
Java JSON 处理的魔法:从基础到高级
2024-03-07

标题魔法师

掌握标题优化技巧,提升网页排名和用户体验。本文提供实用指南,助力你成为,让你的内容脱颖而出。
标题魔法师
2024-02-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录