org.springframework.beans.propertyeditors

## 类 CustomNumberEditor

- java.lang.Object
- - java.beans.PropertyEditorSupport
  - - org.springframework.beans.propertyeditors.CustomNumberEditor

- 所有已实现的接口:
    PropertyEditor

      public class CustomNumberEditor
      extends PropertyEditorSupport

  Property editor for any Number subclass such as Short, Integer, Long, BigInteger, Float, Double, BigDecimal. Can use a given NumberFormat for (locale-specific) parsing and rendering, or alternatively the default `decode` / `valueOf` / `toString` methods.

  This is not meant to be used as system PropertyEditor but rather as locale-specific number editor within custom controller code, parsing user-entered number strings into Number properties of beans and rendering them in the UI form.

  In web MVC code, this editor will typically be registered with `binder.registerCustomEditor` calls.

  从以下版本开始:
    06.06.2003
  作者:
    Juergen Hoeller
  另请参阅:
    `Number`, `NumberFormat`, `org.springframework.validation.DataBinder#registerCustomEditor`

- - ### 构造器概要

    构造器
    构造器和说明
    `CustomNumberEditor(Class<? extends Number> numberClass, boolean allowEmpty)` Create a new CustomNumberEditor instance, using the default `valueOf` methods for parsing and `toString` methods for rendering.
    `CustomNumberEditor(Class<? extends Number> numberClass, NumberFormat numberFormat, boolean allowEmpty)` Create a new CustomNumberEditor instance, using the given NumberFormat for parsing and rendering.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `String` | `getAsText()` Format the Number as String, using the specified NumberFormat.
    `void` | `setAsText(String text)` Parse the Number from the given text, using the specified NumberFormat.
    `void` | `setValue(Object value)` Coerce a Number value into the required target class, if necessary.

    - ### 从类继承的方法 java.beans.PropertyEditorSupport

      `addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, supportsCustomEditor`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### CustomNumberEditor

          public CustomNumberEditor(Class<? extends Number> numberClass,
                                    boolean allowEmpty)
                             throws IllegalArgumentException

      Create a new CustomNumberEditor instance, using the default `valueOf` methods for parsing and `toString` methods for rendering.

      The "allowEmpty" parameter states if an empty String should be allowed for parsing, i.e. get interpreted as `null` value. Else, an IllegalArgumentException gets thrown in that case.

      参数:
        `numberClass` - Number subclass to generate
        `allowEmpty` - if empty strings should be allowed
      抛出:
        `IllegalArgumentException` - if an invalid numberClass has been specified
      另请参阅:
        `NumberUtils.parseNumber(String, Class)`, `Integer.valueOf(java.lang.String, int)`, `Integer.toString(int, int)`

    - #### CustomNumberEditor

          public CustomNumberEditor(Class<? extends Number> numberClass,
                                    @Nullable
                                    NumberFormat numberFormat,
                                    boolean allowEmpty)
                             throws IllegalArgumentException

      Create a new CustomNumberEditor instance, using the given NumberFormat for parsing and rendering.

      The allowEmpty parameter states if an empty String should be allowed for parsing, i.e. get interpreted as `null` value. Else, an IllegalArgumentException gets thrown in that case.

      参数:
        `numberClass` - Number subclass to generate
        `numberFormat` - NumberFormat to use for parsing and rendering
        `allowEmpty` - if empty strings should be allowed
      抛出:
        `IllegalArgumentException` - if an invalid numberClass has been specified
      另请参阅:
        `NumberUtils.parseNumber(String, Class, java.text.NumberFormat)`, `NumberFormat.parse(java.lang.String, java.text.ParsePosition)`, `NumberFormat.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

  - ### 方法详细资料

    - #### setAsText

          public void setAsText(String text)
                         throws IllegalArgumentException

      Parse the Number from the given text, using the specified NumberFormat.
      指定者:
        `setAsText` 在接口中 `PropertyEditor`
      覆盖:
        `setAsText` 在类中 `PropertyEditorSupport`
      抛出:
        `IllegalArgumentException`

    - #### setValue

          public void setValue(@Nullable
                               Object value)

      Coerce a Number value into the required target class, if necessary.
      指定者:
        `setValue` 在接口中 `PropertyEditor`
      覆盖:
        `setValue` 在类中 `PropertyEditorSupport`

    - #### getAsText

          public String getAsText()

      Format the Number as String, using the specified NumberFormat.
      指定者:
        `getAsText` 在接口中 `PropertyEditor`
      覆盖:
        `getAsText` 在类中 `PropertyEditorSupport`