JavaAPI之PropertyDescriptor[通俗易懂]

JavaAPI之PropertyDescriptor[通俗易懂]随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)结构java.beans类PropertyDescriptorjava.lang.Objectjava.beans.FeatureDescriptorjava.beans….

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

JavaAPI之PropertyDescriptor[通俗易懂]

结构

java.beans

类 PropertyDescriptor

java.lang.Object
  java.beans.FeatureDescriptor
      java.beans.PropertyDescriptor

直接已知子类:

IndexedPropertyDescriptor

描述

public class PropertyDescriptor extends FeatureDescriptor
 

PropertyDescriptor 描述 Java Bean 通过一对存储器方法导出的一个属性。

构造方法

1、public PropertyDescriptor(String propertyName, Class<?> beanClass) throwsIntrospectionException

通过调用 getFoo 和 setFoo 存取方法,为符合标准 Java 约定的属性构造一个 PropertyDescriptor。因此如果参数名为 “fred”,则假定 writer 方法为 “setFred”,reader 方法为 “getFred”(对于 boolean 属性则为 “isFred”)。注意,属性名应该以小写字母开头,而方法名称中的首写字母将是大写的。

参数:propertyName – 属性的编程名称。

            beanClass – 目标 bean 的 Class 对象。例如 sun.beans.OurButton.class。

抛出:IntrospectionException – 如果在内省期间发生异常。

2、public PropertyDescriptor(String propertyName, Class<?> beanClass, String readMethodName, String writeMethodName) throwsIntrospectionException

此构造方法带有一个简单属性的名称和用于读写属性的方法名称。

参数:propertyName – 属性的编程名称。

            beanClass – 目标 bean 的 Class 对象。例如 sun.beans.OurButton.class。

            readMethodName – 用于读取属性值的方法名称。如果属性是只写的,则该参数可能为 null。

            writeMethodName – 用于写入属性值的方法名称。如果属性是只读的,则该参数可能为 null。

抛出:IntrospectionException – 如果在内省期间发生异常。

 

3、public PropertyDescriptor(String propertyName,  Method readMethod,Method writeMethod)throwsIntrospectionException

此构造方法带有某一简单属性的名称,以及用来读取和写入属性的 Method 对象。

参数:propertyName – 属性的编程名称。

             readMethod – 用于读取属性值的方法。如果属性是只写的,则该参数可能为 null。

            writeMethod – 用于写入属性值的方法。如果属性是只读的,则该参数可能为 null。

抛出:IntrospectionException – 如果在内省期间发生异常。

方法详细

1、public Class<?>getPropertyType()   获得属性的 Class 对象。

返回:属性的 Java 类型信息。注意,”Class” 对象可以描述内置 Java 类型,比如 “int”。如果此属性是一个不支持非索引访问的索引 (indexed) 属性,则结果可能是 “null”。

而这里的类型是由 ReadMethod 返回的类型。

2、publicMethodgetReadMethod()   获得应该用于读取属性值的方法。

返回:应该用于读取属性值的方法。如果无法读取该属性,则可能返回。

3、public void setReadMethod(Method readMethod) throwsIntrospectionException  设置应该用于读取属性值的方法。

参数:readMethod – 新的读取方法。

抛出:IntrospectionException

4、publicMethodgetWriteMethod()   获得应该用于写入属性值的方法。

返回:应该用于写入属性值的方法。如果无法写入该属性,则可能返回。

5、public void setWriteMethod(Method writeMethod) throwsIntrospectionException

设置应该用于写入属性值的方法。

参数:writeMethod – 新的写入方法。

抛出:IntrospectionException

6、public boolean isBound()   更新 “bound” 属性将导致更改该属性时激发 “PropertyChange” 事件。

返回:如果该属性是绑定 (bound) 属性,则返回 true。

7、public void setBound(boolean bound)

更新 “bound” 属性将导致更改该属性时激发 “PropertyChange” 事件。

参数:bound – 如果该属性是绑定属性,则该属性为 true。

8、public boolean isConstrained()

试图更新 “Constrained” 属性将导致更改该属性时激发 “VetoableChange” 事件。

返回:如果该属性是约束 (constrained) 属性,则返回 true。

9、public void setConstrained(boolean constrained)

试图更新 “Constrained” 属性将导致更改该属性时激发 “VetoableChange” 事件。

参数:constrained – 如果该属性是约束属性,则该属性为 true。

10、public void setPropertyEditorClass(Class<?> propertyEditorClass)

通常 PropertyEditor 是使用 PropertyEditorManager 找到的。不过,如果出于某些原因想将特定 PropertyEditor 与某一给定属性相关联,那么可以使用此方法做到这一点。

参数:propertyEditorClass – 所需 PropertyEditor 的 Class。

11、public Class<?>getPropertyEditorClass()   获得已为此属性注册的任何显式 PropertyEditor Class。

返回:已为此属性注册的任何显式 PropertyEditor Class。通常此方法将返回 “null”,指示没有注册特殊编辑器,所以 PropertyEditorManager 应该用于查找合适的 PropertyEditor。

12、public PropertyEditorcreatePropertyEditor(Object bean)

使用当前属性编辑器类构造一个属性编辑器实例。如果属性编辑器类拥有一个带有 Object 参数的公共构造方法,则将通过使用 bean 参数作为变量来调用它。否则将调用默认构造方法。

参数:bean – 源对象

返回:属性编辑器实例,如果没有定义或无法创建属性编辑器,则返回 null

从以下版本开始:1.5

13、public boolean equals(Object obj)

将此 PropertyDescriptor 与指定对象进行比较。如果对象是相同的,则返回 true。如果读取、写入、属性类型、属性编辑器和标记都是等同的,则两个PropertyDescriptor 是相同的。

覆盖:Object 中的 equals

参数:obj – 要与之比较的引用对象。

返回:如果此对象与 obj 参数相同,则返回 true;否则返回false

从以下版本开始:1.4

另请参见:Object.hashCode(), Hashtable

14、public int hashCode()

返回对象的哈希码。关于完整的描述,请参阅 Object.hashCode()

覆盖:Object 中的 hashCode

返回:此对象的哈希码值。

从以下版本开始:1.5

另请参见:Object.equals(java.lang.Object),Hashtable

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186996.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql插入数据报错java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x8D\xE8\xBE…'[通俗易懂]

    Mysql插入数据报错java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x8D\xE8\xBE…'[通俗易懂]前几日在项目中遇到数据库插入数据报错java.sql.SQLException:Incorrectstringvalue:’\xF0\x9F\x98\x8D\xE8\xBE…’forcolumn’title’atrow1一直以为是中文字符编码不对,然后找了各种编码的东西。后来无意中发现了一篇文章:http://blog.csdn.net/fuxuejun/a

    2022年5月20日
    30
  • 语义分割看这一篇就够了!「建议收藏」

    语义分割看这一篇就够了!「建议收藏」语义分割技术综述本文就ImageSegmentationUsingDeepLearning:ASurvey第三章的模型进行了分析和介绍,第一第二章的基础指示可以看原文进行学习,相关知识有很多这里就不班门弄斧了。最好是一边读原文一边看本文效果更佳原文连接能力有限,水平一般,抱着学习的态度分享此文,有不准确的地方还请各位大佬斧正!3.1全连接网络关于FCN的资料有很多这里就不…

    2022年8月21日
    6
  • 利用STM32F103精确控制步进电机

    利用STM32F103精确控制步进电机**利用STM32F103控制步进电机精确角度转动**欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,…

    2022年6月1日
    37
  • Navigator对象,获取浏览器类型userAgent,机器类型platform

    Navigator对象,获取浏览器类型userAgent,机器类型platformJavaScript常用事件集合,前端小白必备(写的很详细,建议收藏)1.文档加载事件鼠标事件获取浏览器类型,手机机型(容易出问题的地方)事件冒泡与事件委托(面试重点)一、获取浏览器类型letuserAgent=navigator.userAgent;console.log(userAgent);if(userAgent.indexOf(“Opera”)>-1){ //判断是否是Opera浏览器console.log(“Opera”);};

    2025年10月26日
    3
  • 在处理PowerBuilder的itemchanged事件中,acceptText的使用介绍[通俗易懂]

    在处理PowerBuilder的itemchanged事件中,acceptText的使用介绍[通俗易懂]在窗口的itemchanged事件中,获取当前输入的值时,往往是无法拿到值的,此时值还没有提交,所以获取的都是null,此时可以通过使用dwcontrol.acceptText()来设置值的提前存

    2022年7月1日
    32
  • Nutch使用汇总

    Nutch使用汇总网上有好多的 Nutch 使用的文章 但其实只是几篇文章翻来覆去的拷贝而已 1 Nutch 初体验很经典 讲了 nutch 与 lucene 以及其他一些爬虫的比较 和建立一个抓取企业内部网 Intranetcraw 实例 但是可能是版本的问题 其中少了关键的一步 2 Tutorial 0 8 x nbsp 这里是官方的那个文档 补全了少的那一步 否则出现后果为 Fetcher se

    2025年6月14日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号