黑马程序员技术交流社区

标题: 关于JavaBean的Setters和Getters的小疑问 [打印本页]

作者: 贾浩田    时间: 2014-10-8 15:32
标题: 关于JavaBean的Setters和Getters的小疑问
  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方法识别,真是一头雾水。


作者: 面具猴    时间: 2014-10-8 16:17
参考jdk的api,使用isXxx()更合理一些
作者: 贾浩田    时间: 2014-10-8 16:58
zengming13 发表于 2014-10-8 16:14
对于boolean 类型的变量,推荐使用is前辍,因为boolean 只有两种值,使用is前辍更符合英语习惯 ...

那看来只有Boolean和boolean有这个特殊的规则了,了解了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2