A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贾浩田 高级黑马   /  2014-10-8 15:32  /  963 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class javabean{
  2.         private boolean b;
  3.         private Integer i;
  4.         private String s;
  5.         private double d;
  6.        
  7.         public javabean(){};
  8.                
  9.         public boolean isB() {    //getB
  10.                 return b;
  11.         }
  12.         public void setB(boolean b) {
  13.                 this.b = b;
  14.         }
  15.        
  16.         public Integer getI() {
  17.                 return i;
  18.         }
  19.         public void setI(Integer i) {
  20.                 this.i = i;
  21.         }
  22.        
  23.         public String getS() {
  24.                 return s;
  25.         }
  26.         public void setS(String s) {
  27.                 this.s = s;
  28.         }
  29.        
  30.         public double getD() {
  31.                 return d;
  32.         }
  33.         public void setD(double d) {
  34.                 this.d = d;
  35.         }       
  36. }
复制代码
这个JavaBean类中的四个私有成员的Getter和Setter是用IDE自动生成的,可是生成结果有些奇葩
有三个成员的都是以get和set作为方法前缀的(正常是这样,大家可以理解),但是对于第一个boolean b 成员来讲,本应该自动生成getB,可结果却是isB
更奇葩的是,这个isB居然也可以被PropertyDescriptor的getReadMethod方法识别,真是一头雾水。

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3

查看全部评分

2 个回复

倒序浏览
参考jdk的api,使用isXxx()更合理一些
回复 使用道具 举报
zengming13 发表于 2014-10-8 16:14
对于boolean 类型的变量,推荐使用is前辍,因为boolean 只有两种值,使用is前辍更符合英语习惯 ...

那看来只有Boolean和boolean有这个特殊的规则了,了解了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马