当前位置: 首页 > 知识库问答 >
问题:

使用像INTEGR_ONE这样的常量是一个好方法吗,为什么我们不能使用1本身呢?

上官兴昌
2023-03-14

在我的项目中,我看到许多地方使用了常量,如INTEGER_ONE、INTEGER_ZERO。这样使用的目的是什么?我们使用常量来改变一个地方的值,这会自动地反映特定情况下的所有地方,但是使用像INTEGER_ONE这样的常量就像使用1一样,它是公共值,而不管它们在所有地方使用的是什么情况。当我们需要从需要访问的地方更改一个值时,我们显然需要在那里访问,并将其更改为另一个值,如integer_n。那么为什么我们不能直接使用数字呢?

共有1个答案

白永昌
2023-03-14

有一个不使用魔法常数的样式规则。比如7-一周中的几天,days_in_week?然而,integer_one适用于1的任何用法。

有一个用例:常量对象,要共享。BigDecimal.Zero就是这种情况。如果integer_one不是int而是包装器对象Integer,那么您可以共享相同的对象,而不必创建太多具有相同值的Integer对象。但是integer.valueOf(n)也会为-128到127之间的值提供相同的对象。一般来说,不应该使用包装类;在这里,当使用int值时。但是,像list 这样的集合使用整数。

 类似资料:
  • 我的工作笔记本电脑运行LinuxMint作为基本操作系统,加上Virtualbox来运行Windows 7,这是实际的工作环境,通常加上一个额外的Virtualbox VM来运行不同的Windows安装,我在其中做我的客户机项目工作(我每个客户机有一个VM,以避免弄乱我的主操作系统)。 但我想知道,在客户项目中使用Docker是否可行和有益?也就是说,我想保留LinuxMint(以保持我的理智),

  • 问题内容: 首先,我必须说我对API java.util.concurrent很陌生,所以也许我正在做的事情是完全错误的。 我想怎么办? 我有一个Java应用程序,它基本上运行2个单独的处理(称为 myFirstProcess , mySecondProcess ),但是这些处理必须同时运行。 因此,我尝试这样做: myFirstProcess 和 mySecondProcess 是实现的类,它们

  • 问题内容: 下面的代码 在Python 2中可以正常工作,但是在Python 3中我得到一个错误: 它仅适用于和。 问题答案: 您需要提供在Python 3订货丰富的比较方法,这是 ,,,,,和。另请参阅:PEP 207-丰富的比较 。 是 不是 不再使用。 更具体地说,以和作为参数,并且需要返回是否小于。例如: (这不是明智的比较实现,但是很难说出您要做什么。) 因此,如果您有以下情况: 这等效

  • 我想知道为什么人们似乎不使用GraphQL jus与Redux。 我以前从未使用过GraphQL,但我想开始一个新项目,但阿波罗和继电器都不能说服我。目前,我正在创建一个使用react和redux以及“老式”RESTAPI的应用程序。我喜欢redux的想法,它将我的应用程序的全部信息存储在一个地方。 现在,据我所知,阿波罗和中继都做了类似的事情,但它们使用单独的存储,在这两者中,我们混合了逻辑和视

  • 这个程序要求我写一个程序,要求用户键入两个数字x,y,和一个算术符号s。根据输入的符号,程序将两个数字相加或相减,并使用带有三个参数的返回类型方法返回结果。 示例:如果输入是2、3和'+'。然后,程序将打印:5 这就是我所做的; 但我无法在不知道为什么的if命令中获取(char1)

  • 我不知道我在PhpStorm 2019.2.3中的PHP文件发生了什么,但它与PHP文件不同。我的意思是缺少上下文帮助、代码重新格式化等。。。 我更改了哪些选项以及如何恢复? 实际上只有一个文件有问题,其他的都没问题。