`

Java变量命名

    博客分类:
  • Java
阅读更多
java变量命名的方法采用匈牙利命名法,基本结构为scope_typeVariableName,它使用3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:intocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。

   变量类型和首字母对照关系如下表:  
  数据类型/对象类型 变量前缀 备注  
  byte bye  
  char chr  
  float flt  
  boolean bln 做布尔变量时,使用bln  
  Integer/int int    
  String str  
  Single sng  
  short sht  
  Long/long lng  
  Double/double dbl  
  Currency cur  
  Variant bln     astr     obj     vnt 做布尔变量用时,用bln;  
  做字符串数组用时,用astr;  
  做为对象使用时,用obj  
  不确定时,用vnt。  

变量
l 第一个字母小写,中间单词的第一个字母大写。

l 不要用_或&作为第一个字母。

l 尽量使用短而且具有意义的单词。

l 单字符的变量名一般只用于生命期非常短暂的变量。i,j,k,m,n一般用于integers;c,d,e一般用于characters。

l 如果变量是集合,则变量名应用复数。

l 命名组件采用匈牙利命名法,所有前缀均应遵循同一个组件名称缩写列表。


一般情况下。Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,考虑到一些特定的有意思的英文缩略词如(USA,XML等),JavaBean也允许大写字母起头的属性变量名,不过必须满足“变量的前两个字母要么全部大写,要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名是合法的,而iC、iCcard、iDCode等属性变量名是非法的。正是由于这个原因造成了下面这种情况:
举个例子:
JavaBean
public class RegionDTO  implements Serializable{ 
    public String cId; 
    public String getCid() { 
        return cid; 
    } 
    public void setCid(String cid) { 
        this.cid = cid; 
    } 
    public String cName;     
     
    public String getCName() { 
        return cName; 
    } 
    public void setCName(String name) { 
        cName = name; 
    } 
 
}
封装成List后,然后在页面上用C标签进行显示

Java代码

${item.cId}//报错 RegionDTO没有这个属性!!!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
转自:http://chanson.javaeye.com/blog/419028
1、背景
本文讲的普通JavaBean只是一个拥有Property(域/类变量)及其setter/getter的普通Java类。
有一定Java开发经验的人可能会知道,普通JavaBean的Property(域/类变量)的命名不能采用以下形式:aA***或者Aa***,如:"aDdress"或"Address",否则,在web应用中会报无法找到这个Property(因为根据"规则",需要找的是"ADdress"或"address")。但对于其中的原因,一般人都不明白,难道这是Sun公司当初定的规范吗?
Java开源以后,我们终于可以解开其中的谜:

2、普通JavaBean处理涉及到相关类
在web应用中,Servlet容器或者EJB容器一般会使用java.beans包中的类来加载这些JavaBean。
BeanInfo(接口)
   |
SimpleInfo(类)
   |
GenericBeanInfo(类)
GenericBeanInfo是JavaBean数据装载类。
Introspector是JavaBean处理中最重要的一个处理类。
另外的一些辅助类,就不一一列举了。

3、解密
3.1 开始
在应用中,我们通常会用以下代码来获取一个普通JavaBean相关的信息:
BeanInfo mBeanInfo = null;
try {
mBeanInfo = Introspector.getBeanInfo(Person.class);
} catch (IntrospectionException e) {
e.printStackTrace();
}
3.2 深入
在Introspector类的getBeanInfo方法中,我们发现其中与Property处理相关的行:
private GenericBeanInfo getBeanInfo()
        throws IntrospectionException {
        ……
        PropertyDescriptor apropertydescriptor[] = getTargetPropertyInfo();
        ……
    }
3.3 继续深入
在Property处理方法中,我们发现其处理方式是根据getter/setter的方法来得到Property(域/类变量)
private PropertyDescriptor[] getTargetPropertyInfo() throws IntrospectionException{
   ……
if(s.startsWith("get")) obj = new PropertyDescriptor(decapitalize(s.substring(3)), method, null);
……
}
3.4 关键
接下来,最关键的就是下面这个方法:
public static String decapitalize(String s)
    {
        if(s == null || s.length() == 0)
            //空处理
            return s;
        if(s.length() > 1 && Character.isUpperCase(s.charAt(1)) && Character.isUpperCase(s.charAt(0))){
            //长度大于1,并且前两个字符大写时,返回原字符串
            return s;
        } else{
            //其他情况下,把原字符串的首个字符小写处理后返回
            char ac[] = s.toCharArray();
            ac[0] = Character.toLowerCase(ac[0]);
            return new String(ac);
        }
    }
4 Ending
解密完成。

分享到:
评论

相关推荐

    java变量命名心得

    "java 变量命名心得" Java 变量命名是一个非常重要的概念,它直接影响着程序的可读性和维护性。下面我们将通过一个实例来展示局部变量和实例变量的区别,并总结 java 变量命名的几个典型问题。 首先,让我们来看...

    JAVA编程命名规范Java-开发命名规范

    该规范涵盖了JAVA中的各种命名规则,包括包命名、类命名、方法命名、参数命名、变量命名和常量命名等。 包命名规范: * JAVA包的名字都是由小写单词组成。 * 为了保障每个JAVA包命名的唯一性,在最新的JAVA编程...

    Java标识符和变量的命名规则(2)

    #### 二、Java变量的命名规则与习惯 在了解了Java标识符的基本规范之后,接下来将重点讨论变量命名的具体规则和习惯。 1. **局部变量与成员变量的区别**: - 局部变量是指在方法、构造函数或块中声明的变量,作用...

    Java 的变量命名规则、分类和概述.docx

    本文将深入探讨 Java 中的变量命名规则、分类及其概述。 首先,我们来看变量的命名规则: 1. **有意义的名字**:变量名应具有清晰的含义,能够准确反映出变量的用途。例如,如果一个变量用于存储年龄,可以命名为`...

    使用Java创建变量与命名变量.pdf

    使用Java创建变量与命名变量

    java命名规范java的命名规范java的命名规范java的命名规范

    Java编程语言的命名规范是确保代码可读性和可维护性的基石。遵循良好的命名习惯不仅可以提高代码的整洁性,还能让团队成员更容易理解代码的意图。以下是根据提供的信息详细阐述的Java命名规范: 1. **文件名与类名*...

    java 变量、关键字

    ### Java 变量与关键字详解 #### 一、关键字(Keywords) **1. 关键字概述** Java的关键字对编译器具有特殊的意义,它们用来表示特定的数据类型或程序结构等。关键字不能用作变量名、方法名、类名或包名。 **2. ...

    java中关于变量的练习题及答案

    ### Java中关于变量的练习题及答案解析 #### 基础知识点概述 在Java编程语言中,变量是用来存储数据的容器。理解变量的基本概念及其...通过这些练习,可以帮助初学者更好地掌握Java变量的基本使用方法及其注意事项。

    2013秋季Java程序设计期末考试试卷_A卷_.doc

    Java变量命名习惯是以字母开头,后跟字母、数字或下划线的组合。 知识点:Java变量命名习惯。 3. 关于Java程序的说法错误的是B. Java语言是面向问题的解释型高级编程语言;。Java语言是一种面向对象的编程语言。 ...

    计算机科学 Java核心编程笔记

    八、Java 变量命名 * 变量命名规则:类名首字母大写,如果有多个单词组合,则每个单词首字母大写。 * 小驼峰命名法:首个单词字母小型,后面的单词首字母大写。 九、Java 文档注释 * javadoc 文档注释:用于生成...

    Java代码命名规范

    例如,数据库字段映射到Java变量时,可以采用下划线分隔的方式(如`user_id`)。 #### 二、方法命名规范 1. **方法名称应简洁明了**:方法名称应当能够清楚地表达该方法的功能。例如,`calculateArea()`比`calArea...

    java-命名规范整理.docx

    静态变量命名规范: * 全部大写,单词间用"_"连接 例如:static int THREAD_FL 遵守良好的命名规范可以提高代码的可读性、易维护性和协作性。但是,命名规范并不是一成不变的,应根据实际情况进行调整和修改。

    北大青鸟S1java内部测试试卷(试题)

    Java变量命名规则 - **合法变量名示例**:根据试题中的选择题第1题,我们可以了解到Java中有效的变量命名方式。例如,`_myString` 和 `myString` 是合法的Java变量名。这遵循了Java中变量命名的基本规则——变量名...

    计算机核心java编程笔记

    Java 语言中的变量命名规则可以分为大驼峰命名法和小驼峰命名法。类名首字母大写,如果有多个单词组合,则每个单词首字母大写(大驼峰命名法)。例如:HelloWorld。小驼峰命名法:首个单词字母小型,后面的单词首...

    Java 开发命名规范

    变量命名是 Java 项目中最基本的命名单元之一,它是 Java 项目的基本构建块。变量名的命名规则如下: * 选择有意义的名字,能快速地传达该变量的用途。 * 参照 java 驼峰命名法,首字母以小写开头,每个单词首字母...

    Java变量笔记

    根据提供的信息,我们可以总结出以下关于“Java变量”的知识点: ### Java 变量基础 #### 1. 变量的概念 在 Java 中,变量是用来存储数据的标识符。每个变量都具有一个特定的数据类型,这决定了它能存储的数据种类...

    Java命名规范 Java命名规范

    Java命名规范是编程实践中至关重要的指导原则,旨在提高代码的可读性和一致性。遵循这些规范,可以帮助团队成员更好地理解和维护代码,减少误解和错误。以下是Java命名规范的主要方面: 1. **包(Package)**: 包名...

Global site tag (gtag.js) - Google Analytics