public final class Size extends Object
Constructor and Description |
---|
Size(int width,
int height)
Create a new immutable Size instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Check if this size is equal to another size.
|
int |
getHeight()
Get the height of the size (in pixels).
|
int |
getWidth()
Get the width of the size (in pixels).
|
int |
hashCode()
Returns a hash code value for the object.
|
static Size |
parseSize(String string)
Parses the specified string as a size value.
|
String |
toString()
Return the size represented as a string with the format
"WxH" |
public Size(int width, int height)
width
- The width of the size, in pixelsheight
- The height of the size, in pixelspublic int getWidth()
public int getHeight()
public boolean equals(Object obj)
Two sizes are equal if and only if both their widths and heights are equal.
A size object is never equal to any other type of object.
equals
in class Object
obj
- the reference object with which to compare.true
if the objects were equal, false
otherwiseObject.hashCode()
,
HashMap
public String toString()
"WxH"
public static Size parseSize(String string) throws NumberFormatException
The ASCII characters \
u002a
('*') and
\
u0078
('x') are recognized as separators between
the width and height.
For any Size s
: Size.parseSize(s.toString()).equals(s)
.
However, the method also handles sizes expressed in the
following forms:
"widthx
height" or
"width*
height" => new Size(width, height)
,
where width and height are string integers potentially
containing a sign, such as "-10", "+7" or "5".
Size.parseSize("3*+6").equals(new Size(3, 6)) == true
Size.parseSize("-3x-6").equals(new Size(-3, -6)) == true
Size.parseSize("4 by 3") => throws NumberFormatException
string
- the string representation of a size value.string
.NumberFormatException
- if string
cannot be parsed
as a size value.NullPointerException
- if string
was null
public int hashCode()
HashMap
.
The general contract of hashCode
is:
hashCode
method
must consistently return the same integer, provided no information
used in equals
comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)