Package android.util

Class SizeF


  • public final class SizeF
    extends Object
    Immutable class for describing width and height dimensions in some arbitrary unit.

    Width and height are finite values stored as a floating point representation.

    • Constructor Detail

      • SizeF

        public SizeF​(float width,
                     float height)
        Create a new immutable SizeF instance.

        Both the width and the height must be a finite number. In particular, NaN and positive/negative infinity are illegal values.

        Parameters:
        width - The width of the size
        height - The height of the size
        Throws:
        IllegalArgumentException - if either width or height was not finite.
    • Method Detail

      • getWidth

        public float getWidth()
        Get the width of the size (as an arbitrary unit).
        Returns:
        width
      • getHeight

        public float getHeight()
        Get the height of the size (as an arbitrary unit).
        Returns:
        height
      • equals

        public boolean equals​(Object obj)
        Check if this size is equal to another size.

        Two sizes are equal if and only if both their widths and heights are the same.

        For this purpose, the width/height float values are considered to be the same if and only if the method Float.floatToIntBits(float) returns the identical int value when applied to each.

        Overrides:
        equals in class Object
        Parameters:
        obj - the object to compare this instance with.
        Returns:
        true if the objects were equal, false otherwise
        See Also:
        Object.hashCode()
      • toString

        public String toString()
        Return the size represented as a string with the format "WxH"
        Overrides:
        toString in class Object
        Returns:
        string representation of the size
      • parseSizeF

        public static SizeF parseSizeF​(String string)
                                throws NumberFormatException
        Parses the specified string as a size value.

        The ASCII characters \u002a ('*') and \u0078 ('x') are recognized as separators between the width and height.

        For any SizeF s: SizeF.parseSizeF(s.toString()).equals(s). However, the method also handles sizes expressed in the following forms:

        "widthxheight" or "width*height" => new SizeF(width, height), where width and height are string floats potentially containing a sign, such as "-10.3", "+7" or "5.2", but not containing an 'x' (such as a float in hexadecimal string format).

        
         SizeF.parseSizeF("3.2*+6").equals(new SizeF(3.2f, 6.0f)) == true
         SizeF.parseSizeF("-3x-6").equals(new SizeF(-3.0f, -6.0f)) == true
         SizeF.parseSizeF("4 by 3") => throws NumberFormatException
         
        Parameters:
        string - the string representation of a size value.
        Returns:
        the size value represented by string.
        Throws:
        NumberFormatException - if string cannot be parsed as a size value.
        NullPointerException - if string was null
      • hashCode

        public int hashCode()
        Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

        Note that hash values must not change over time unless information used in equals comparisons also changes.

        See Writing a correct hashCode method if you intend implementing your own hashCode method.

        Overrides:
        hashCode in class Object
        Returns:
        this object's hash code.
        See Also:
        Object.equals(java.lang.Object)