如何让在JAVA中定义常量池
首先看示例:
- /**
- * Method One
- */
- interface ConstantInterface {
- String SUNDAY = "SUNDAY";
- String MONDAY = "MONDAY";
- String TUESDAY = "TUESDAY";
- String WEDNESDAY = "WEDNESDAY";
- String THURSDAY = "THURSDAY";
- String FRIDAY = "FRIDAY";
- String SATURDAY = "SATURDAY";
- }
- /**
- * Method Two
- */
- enum ConstantEnum {
- SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
- }
- /**
- * Method Three
- */
- class ConstantClassField {
- public static final String SUNDAY = "SUNDAY";
- public static final String MONDAY = "MONDAY";
- public static final String TUESDAY = "TUESDAY";
- public static final String WEDNESDAY = "WEDNESDAY";
- public static final String THURSDAY = "THURSDAY";
- public static final String FRIDAY = "FRIDAY";
- public static final String SATURDAY = "SATURDAY";
- }
- /**
- * Method Four
- * http://www.ibm.com/developerworks/cn/java/l-java-interface/index.html
- */
- class ConstantClassFunction {
- private static final String SUNDAY = "SUNDAY";
- private static final String MONDAY = "MONDAY";
- private static final String TUESDAY = "TUESDAY";
- private static final String WEDNESDAY = "WEDNESDAY";
- private static final String THURSDAY = "THURSDAY";
- private static final String FRIDAY = "FRIDAY";
- private static final String SATURDAY = "SATURDAY";
- public static String getSunday() {
- return SUNDAY;
- }
- public static String getMonday() {
- return MONDAY;
- }
- public static String getTuesday() {
- return TUESDAY;
- }
- public static String getWednesday() {
- return WEDNESDAY;
- }
- public static String getThursday() {
- return THURSDAY;
- }
- public static String getFirday() {
- return FRIDAY;
- }
- public static String getSaturday() {
- return SATURDAY;
- }
- }
- public class TestConstant {
- static final String day = "saturday";
- public static void main(String[] args) {
- System.out.println("Is today Saturday?");
- System.out.println(day.equalsIgnoreCase(ConstantInterface.SATURDAY));
- System.out.println(day.equalsIgnoreCase(ConstantEnum.SATURDAY.name()));
- System.out.println(day.equalsIgnoreCase(ConstantClassField.SATURDAY));
- System.out.println(day.equalsIgnoreCase(ConstantClassFunction
- .getSaturday()));
- }
- }
方法一采用接口(Interface)的中变量默认为static final的特性。
方法二采用了Java 5.0中引入的Enum类型。
方法三采用了在普通类中使用static final修饰变量的方法。
方法四类似方法三,但是通过函数来获取常量。
首先定义全局变量似乎有违Java的面向对象的封装特性,增加的耦合。所以最佳的方法是避免定义全局变量。如果是参数等,可以写入配置文件。如果实在是必须的,方法二是最为推荐的。方法三是大家都能想到的,非常的直观。方法一和方法三本质上一样。方法四提供了灵活性,具体参考引用【1】。
转载于:https://www.cnblogs.com/architects/p/4552412.html
如何让在JAVA中定义常量池相关推荐
- 好好说说Java中的常量池之Class常量池
前言 在Java中,常量池的概念想必很多人都听说过.这也是面试中比较常考的题目之一.在Java有关的面试题中,一般习惯通过String的有关问题来考察面试者对于常量池的知识的理解,几道简单的Strin ...
- 好好说说Java中的常量池之Class常量池 1
转载自 好好说说Java中的常量池之Class常量池 在Java中,常量池的概念想必很多人都听说过.这也是面试中比较常考的题目之一.在Java有关的面试题中,一般习惯通过String的有关问题来考 ...
- Java中整数常量池的概念
Java中整数常量池的概念: java中为了提高程序的执行效率,将[-128, 127]之间256个整数所有的包装对象提前创建好了,类加载时就已经创好了,放在了一个方法区的"整数常量池&qu ...
- stringbuilder调用tostring常量池_彻底弄懂java中的常量池
作者:tracy_666链接:https://www.jianshu.com/p/55f65dac1b4b JVM常量池主要分为Class文件常量池.运行时常量池,全局字符串常量池,以及基本类型包装类 ...
- java中定义常量必须使用的关键字是_可以单独使用final关键字在Java中定义常量吗?...
常量变量是其值固定的变量,程序中仅存在一个副本.声明常量变量并为其分配值后,就无法在整个程序中再次更改其值. 与其他语言不同,java不直接支持常量.但是,您仍然可以通过声明变量static和fina ...
- Java中的常量池(字符串常量池、class常量池和运行时常量池)
简介: 这几天在看Java虚拟机方面的知识时,看到了有几种不同常量池的说法,然后我就去CSDN.博客园等上找资料,里面说的内容真是百花齐放,各自争艳,因此,我好好整理了一下,将我自认为对的理解写下来与 ...
- JAVA中定义常量的几种方式
1.最古老的 //未处理 public static final Integer PROCESS_STATUS_UNTREATED = 0; //已接收 public static final Int ...
- JAVA提示定义常量_如何在Java中定义常量(Constant)
首先看示例: /** * Method One */ interface ConstantInterface { String SUNDAY = "SUNDAY"; String ...
- 在Java中定义常量
方法一采用接口(Interface)的中变量默认为static final的特性. 方法二采用了Java 5.0中引入的Enum类型. 方法三采用了在普通类中使用static final修饰变量的方法 ...
最新文章
- 如何开启PostGreSQL的远程访问端口?
- python去掉数字最后的零_python – 如何消除额外的负号,将数字四舍五入为零时,以numpy为单位?...
- 2011/5/18工作笔记
- 力扣(LeetCode)258. 各位相加
- Java中父类的私有数据和静态数据在内存中是如何存储的?
- 网络监控系统中如何选择工业交换机?
- 百度之星初赛(A)——T5
- 公司新来的小可爱,竟然把内存搞崩了!
- android studio学习----通过github的URL怎么导入新的工程
- netif_receive_skb 函数解析
- 加密货币的天堂? 盘点 7 大对加密货币免税的国家!
- 移动段开发前景真的凉了么?
- F28335学习(二)EPWM
- perfmon android 7.1,Perfmon - 脚本自动监控
- 中图分类法----Q 生物科学
- 社区购物、社区买菜小程序源码
- server酱php推送代码,多种语言调用Server酱推送微信模板消息
- 字节跳动 Java 岗一二三面全经过分享
- Longest Commen Prefix
- 每日一博 - 3D架构图 cloudcraft
热门文章
- JVM调优:栈上分配和线程本地分配TLAB
- Linux top指令
- Linux shell脚本中的命令正确写法
- Adapter适配器设计模式
- jvm一个线程的成本
- KDDockWidgets源码编译及安装
- java命令运行class文件提示错误:找不到或无法加载主类
- python改变字符串类型_python – Sklearn将字符串类标签更改为int
- c 语言epc编码如何解开,EPC编码结构
- linux下var权限是什么?,linux – 在/ var / www中处理Apache 2用户www-data权限的最佳方法是什么?...