public abstract class Size2DSyntax extends Object implements Serializable, Cloneable
一个二维尺寸属性的值由两个项目,X尺寸和Y尺寸。通过提供两个值,并指示测量值的单位,可以构造一个二维大小的属性。提供方法以返回一个二维大小属性的值,指示要返回的值的单位。最常见的两种尺寸的单位是英寸(中)和毫米(mm),并出口INCH
和MM
常数提供指示的单位。
一旦构建,一个二维大小的属性的值是不可变的。
设计
一个二维的大小属性的x和y的值存储在内部尺寸在微米为单位的整数(µm),其中1微米= 10- 6米= 1 / 1000 = 1毫米/ 25400英寸。这允许尺寸要精确的表示精度到1 / 1000毫米(= 1µm)或1 / 100英寸(= 254µm)。如果分数英寸在两负幂表示,这允许尺寸要精确的表示精度到1 / 8英寸(= 3175µ米)而不是1 / 16英寸(因为1 / 16英寸不等于µM是一个整数)。
存储尺寸在常见的µM单位让两大小属性比较不考虑他们所创建的单位;例如,8.5将等于215.9毫米,因为他们都被存储为215900µ米。例如,查找服务可以匹配的分辨率属性基于其序列化的表示平等的单位在他们被创造。使用内部存储的整数允许精确的等式比较,这将不会得到保证,如果一个内部浮点数表示。请注意,如果您正在寻找美国信大小的媒体在公制单位,你必须寻找一个媒体规模为215.9×279.4毫米;四舍五入到一个不可分割的216×279毫米将不匹配。
出口的不断INCH
实际上是转换系数,乘以一个值来µM.英寸同样的价值,出口不断MM
是换算系数,乘以一个值在MM去µM.客户可以指定其他英寸或毫米通过提供自己的转换系数的单位分辨率值。然而,由于µM内部单元的选择与支持只有记住英寸和毫米的外部单位,也不能保证对客户单位的换算因子将是一个精确的整数。如果转换因子不是一个确切的整数,在客户端的单位的分辨率值将不会被精确地存储。
Modifier and Type | Field and Description |
---|---|
static int |
INCH
值表示英寸单位(英寸)。
|
static int |
MM
值表示单位为毫米(毫米)。
|
Modifier | Constructor and Description |
---|---|
protected |
Size2DSyntax(float x, float y, int units)
从给定的浮点值构造一个新的二维大小属性。
|
protected |
Size2DSyntax(int x, int y, int units)
从给定的整数值构造一个新的二维尺寸属性。
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object object)
返回这个二维大小的属性是否相当于对象的传递。
|
float[] |
getSize(int units)
将给定单位中的这个二维大小属性的维度作为浮点值。
|
float |
getX(int units)
将给定单位中的这个二维大小属性的X维度返回为浮点值。
|
protected int |
getXMicrometers()
返回单位微米大小的二维属性X维(µm)。
|
float |
getY(int units)
将给定单位中的这个二维大小属性的Y维度返回为浮点值。
|
protected int |
getYMicrometers()
返回此二维尺寸属性的Y尺寸在微米为单位(µm)。
|
int |
hashCode()
返回此二维大小属性的哈希代码值。
|
String |
toString()
返回此二维大小属性的字符串版本。
|
String |
toString(int units, String unitsName)
返回给定单位中此二维大小属性的字符串版本。
|
public static final int INCH
public static final int MM
protected Size2DSyntax(float x, float y, int units)
x
X维。
y
Y维度。
units
单位转换因子,如
INCH
或
MM
。
IllegalArgumentException
-(unchecked异常)如果
x < 0
或
y < 0
或
units < 1
扔。
protected Size2DSyntax(int x, int y, int units)
x
X维。
y
Y维度。
units
单位转换因子,如
INCH
或
MM
。
IllegalArgumentException
-(unchecked异常)如果
x < 0
或
y < 0
或
units < 1
扔。
public float[] getSize(int units)
units
单位转换因子,如
INCH
或
MM
。
IllegalArgumentException
-(unchecked异常抛出如果
units < 1
)。
public float getX(int units)
units
单位转换因子,如
INCH
或
MM
。
IllegalArgumentException
-(unchecked异常抛出如果
units < 1
)。
public float getY(int units)
units
单位转换因子,如
INCH
或
MM
。
IllegalArgumentException
-(unchecked异常抛出如果
units < 1
)。
public String toString(int units, String unitsName)
"XxY U"
,其中x是x维,Y Y尺寸,和u是单位名称。浮点值显示在浮点数上。
units
单位转换因子,如
INCH
或
MM
。
unitsName
单位名称的字符串,例如
in
或
mm
。如果为空,则没有单位名称追加到结果中。
IllegalArgumentException
-(unchecked异常抛出如果
units < 1
)。
public boolean equals(Object object)
object
不空。object
是类size2dsyntax实例。object
X维。object
的Y尺寸。equals
方法重写,继承类
Object
object
对象比较。
object
相当于这个二维尺寸属性真,否则为假。
Object.hashCode()
,
HashMap
public int hashCode()
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
"XxY um"
,X是X,Y是Y维度维度。的值被报告在内部单位的微米。
protected int getXMicrometers()
protected int getYMicrometers()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.