|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.xml.datatype.Duration
public abstract class Duration
W3C XML Schema 1.0 스펙에 정의된 기간의 불변의 표현입니다.
Duration 객체는 그레고리오 시간의 시간을 나타내, 6 개의 필드 (년, 월, 일, 시간, 분 , 초)와 기호 (+/-) 필드로부터 구성됩니다.
선두의 5 개의 필드에는 부 이외 (>=0)의 정수 또는 null (필드가 설정되어 있지 않은 것을 나타낸다)가 들어가, 2 번째의 필드에는 부 이외의 10 진수 또는 null 가 들어갑니다. 부의 기호는 부의 듀레이션을 나타냅니다.
이 클래스는 정오표 첨부의 XML Schema 1.0 의 듀레이션데이타형에 간단하게 사용할 수 있는 많은 메소드를 제공하고 있습니다.
Duration 객체는 부분적인 순서만을 가져, A 와 B 의 2 개의 값은 다음의 어느 쪽인가에 됩니다.
예를 들어, 30 일과 1 개월은 의미상 비교할 수 없습니다. compare(Duration duration)
메소드로 이 관계를 구현합니다.
Duration
객체간의 순서 관계의 상세한 것에 대하여는 isLongerThan(Duration)
메소드를 참조해 주세요.
이 클래스는, 가산, 감산, 곱셈등의 일련의 기본 산술 연산을 실행합니다. 듀레이션에는 전체 순서가 없기 때문에, 연산의 조합해에 따라서는, 연산이 실패할 가능성이 있습니다. 예를 들어, 1 개월부터 15 일을 감산할 수 없습니다. 실패할 가능성이 있는 자세한 상황에 대해서는, 이러한 메소드의 Javadoc 를 참조해 주세요.
게다가Duration
클래스를 처리할 수 있는 것은 유한 정밀도 10 진수에 한정되기 (위해)때문에, 수치에 의한 듀레이션의 제산은 제공되지 않습니다. 예를 들어, 1 초 나누는 3 (1 초 ÷ 3)은 표현할 수 없습니다.
다만, 0.3 이나 0.333 등의 수치로 곱셈해, 3 에 의한 제산에 대신할 수 있습니다.
Duration
에는 극히 큰 값이나 작은 값을 보관 유지할 수 있습니다만,Duration
의 일부의 연산은 Calendar
에 의존하고 있기 (위해)때문에, 그러한 Duration
에 대해서는 일부의 메소드가 정상적으로 동작하지 않는 것이 있습니다.
영향을 받는 메소드에는 그러한 Calendar
에의 의존관계(dependencies)에 대해 기술되고 있습니다.
XMLGregorianCalendar.add(Duration)
생성자 의 개요 | |
---|---|
Duration ()
디폴트의 인수 없음의 생성자 입니다. |
메소드의 개요 | |
---|---|
abstract Duration |
add (Duration rhs)
값이 this+rhs 인 새로운 듀레이션을 계산합니다. |
abstract void |
addTo (Calendar calendar)
이 듀레이션을 Calendar 객체에 추가합니다. |
void |
addTo (Date date)
이 듀레이션을 Date 객체에 추가합니다. |
abstract int |
compare (Duration duration)
이 Duration 인스턴스와 부분 순서 릴레이션을 비교합니다. |
boolean |
equals (Object duration)
이 Duration 객체가 다른 Duration 객체와 동일한지 어떤지를 체크합니다. |
int |
getDays ()
DAYS 필드의 값을 정수치로서 취득하는지, 필드가 존재하지 않는 경우는 0 이 돌려주어집니다. |
abstract Number |
getField (DatatypeConstants.Field field)
필드의 값을 가져옵니다. |
int |
getHours ()
HOURS 필드의 값을 정수치로서 취득하는지, 필드가 존재하지 않는 경우는 0 이 돌려주어집니다. |
int |
getMinutes ()
MINUTES 필드의 값을 정수치로서 취득하는지, 필드가 존재하지 않는 경우는 0 이 돌려주어집니다. |
int |
getMonths ()
MONTHS 필드의 값을 정수치로서 취득하는지, 필드가 존재하지 않는 경우는 0 이 돌려주어집니다. |
int |
getSeconds ()
SECONDS 필드의 값을 정수치로서 취득하는지, 필드가 존재하지 않는 경우는 0 이 돌려주어집니다. |
abstract int |
getSign ()
이 듀레이션의 기호를,-1, 0, 또는 1 으로 돌려줍니다. |
long |
getTimeInMillis (Calendar startInstant)
밀리 세컨드로 듀레이션의 길이를 돌려줍니다. |
long |
getTimeInMillis (Date startInstant)
밀리 세컨드로 듀레이션의 길이를 돌려줍니다. |
QName |
getXMLSchemaType ()
이 인스턴스가 대응하는 XML Schema 일시형의 이름을 돌려줍니다. |
int |
getYears ()
이 Duration 의 해의 값을 int 로서 돌려줍니다. |
abstract int |
hashCode ()
equals 메소드의 정의에 일치하는 해시 코드를 돌려줍니다. |
boolean |
isLongerThan (Duration duration)
이 Duration 객체가 다른 Duration 객체보다 확실히 긴지 어떤지를 체크합니다. |
abstract boolean |
isSet (DatatypeConstants.Field field)
필드가 설정되어 있는지 어떤지를 체크합니다. |
boolean |
isShorterThan (Duration duration)
이 Duration 객체가 다른 Duration 객체보다 확실히 짧은지 어떤지를 체크합니다. |
abstract Duration |
multiply (BigDecimal factor)
값이 이 듀레이션의 값보다 factor 배 긴 새로운 듀레이션을 계산합니다. |
Duration |
multiply (int factor)
값이 이 듀레이션의 값보다 factor 배 긴 새로운 듀레이션을 계산합니다. |
abstract Duration |
negate ()
값이 -this 인 새로운 Duration 객체를 돌려줍니다. |
abstract Duration |
normalizeWith (Calendar startTimeInstant)
특정의 시점을 참조점으로서 사용해, 해 및 달필드를 날 필드로 변환합니다. |
Duration |
subtract (Duration rhs)
값이 this-rhs 인 새로운 듀레이션을 계산합니다. |
String |
toString ()
이 Duration Object 의 String 표현을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public Duration()
주:Duration
의 인스턴스를 구축하려면 , 항상 DatatypeFactory
를 사용합니다. 이 클래스상의 생성자 은, 일관한 상태의 객체를 생성한다고는 보증되지 않고, 장래 삭제될 가능성이 있습니다.
메소드의 상세 |
---|
public QName getXMLSchemaType()
이 인스턴스가 대응하는 XML Schema 일시형의 이름을 돌려줍니다. 형태는 설정되는 필드에 근거해 계산됩니다. 즉,isSet(DatatypeConstants.Field field)
== true
가 됩니다.
XML Schema 1.0 일시 데이터형의 필수 필드 (모든 일시 데이터형으로 타임 존은 옵션) |
||||||
---|---|---|---|---|---|---|
데이터형 | year | month | day | hour | minute | second |
DatatypeConstants.DURATION |
X | X | X | X | X | X |
DatatypeConstants.DURATION_DAYTIME |
X | X | X | X | ||
DatatypeConstants.DURATION_YEARMONTH |
X | X |
DatatypeConstants.DURATION
,
DatatypeConstants.DURATION_DAYTIME
, 또는
DatatypeConstants.DURATION_YEARMONTH
- 예외:
IllegalStateException
- 설정 필드의 편성이, XML Schema 일시 데이터형의 어느 쪽인가에 일치하지 않는 경우
public abstract int getSign()
public int getYears()
이 Duration
의 해의 값을 int
로서 돌려줍니다. 값이 존재하지 않는 경우는 0
을 돌려줍니다.
getYears()
는,getField(DatatypeConstants.YEARS)
의 편리한 메소드입니다.
반환값이 int
의 경우,int
의 범위를 넘는 해를 포함한 Duration
에 대해서 부정한 값이 돌려주어집니다. 정밀도의 저하를 막기 위해,getField(DatatypeConstants.YEARS)
를 사용해 주세요.
int
로서 그렇지 않은 경우는 0
을 돌려준다public int getMonths()
getYears()
와 완전히 같습니다.
Duration
의 달public int getDays()
getYears()
와 완전히 같습니다.
Duration
의 날public int getHours()
getYears()
와 완전히 같습니다.
Duration
의 시간public int getMinutes()
getYears()
와 완전히 같습니다.
Duration
의 분public int getSeconds()
getYears()
와 완전히 같습니다.
public long getTimeInMillis(Calendar startInstant)
밀리 세컨드로 듀레이션의 길이를 돌려줍니다.
초필드의 자리수가 밀리 세컨드의 자리수보다 큰 경우, 그것들은 단지 파기됩니다 (즉, 0 으로서 잘라 버릴 수 있습니다). 예를 들어, 임의의 Calendar 치 x
의 경우, 다음과 같이 됩니다.
new Duration("PT10. 00099S"). getTimeInMills(x) == 10000
.new Duration("-PT10. 00099S"). getTimeInMills(x) == -10000
.
이 메소드에서는 addTo(Calendar)
메소드를 사용하기 위해(때문에), 필드의 값이 현저하고 큰 Duration
객체의 경우에 올바르게 기능하지 않는 것이 있습니다. 상세한 것에 대하여는 addTo(Calendar)
메소드를 참조해 주세요.
startInstant
- 월이나 해의 길이는 여러가지로 다르다. startInstant
를 사용해,
이 차이를 없앤다. 특히, 이 메소드는
startInstant
와 startInstant+duration
의 차이를 돌려준다
startInstant
와
startInstant
플러스 이 Duration
까지의 밀리 세컨드
NullPointerException
- startInstant
파라미터가
null 의 경우public long getTimeInMillis(Date startInstant)
밀리 세컨드로 듀레이션의 길이를 돌려줍니다.
초필드의 자리수가 밀리 세컨드의 자리수보다 큰 경우, 그것들은 단지 파기됩니다 (즉, 0 으로서 잘라 버릴 수 있습니다). 예를 들어, 임의의 Date
치 x
의 경우, 다음과 같이 됩니다.
new Duration("PT10. 00099S"). getTimeInMills(x) == 10000
.new Duration("-PT10. 00099S"). getTimeInMills(x) == -10000
.
이 메소드에서는 addTo(Date)
메소드를 사용하기 위해(때문에), 필드의 값이 현저하고 큰 Duration
객체의 경우에 올바르게 기능하지 않는 것이 있습니다. 상세한 것에 대하여는 addTo(Date)
메소드를 참조해 주세요.
startInstant
- 월이나 해의 길이는 여러가지로 다르다. startInstant
를 사용해,
이 차이를 없앤다. 특히, 이 메소드는
startInstant
와 startInstant+duration
의 차이를 돌려준다
startInstant
와
startInstant
플러스 이 Duration
까지의 밀리 세컨드
NullPointerException
- startInstant 파라미터가 null 의 경우getTimeInMillis(Calendar)
public abstract Number getField(DatatypeConstants.Field field)
Number
객체를 돌려주도록(듯이) 설계되고 있습니다.
YEARS, MONTHS, DAYS, HOURS, 및 MINUTES 의 경우, 반환되는 수치는 부가 아닌 정수가 됩니다. SECONDS 의 경우, 반환되는 수치는 부가 아닌 10 진수값가 됩니다.
field
- 6 개의 Field 정수 (YEARS, MONTHS, DAYS, HOURS,
MINUTES, 또는 SECONDS)의 언젠가
Number
객체를 돌려준다. 필드가 존재하지 않는 경우는, null 를 돌려준다.
YEARS, MONTHS, DAYS, HOURS, 및 MINUTES 의 경우는,
이 메소드는 BigInteger
객체를 돌려준다. SECONDS 의 경우는,
이 메소드는 BigDecimal
를 돌려준다
NullPointerException
- field
가 null
의 경우public abstract boolean isSet(DatatypeConstants.Field field)
field
- 6 개의 Field 정수 (YEARS, MONTHS, DAYS, HOURS,
MINUTES, 또는 SECONDS)의 언젠가
NullPointerException
- 필드 파라미터가 null 의 경우public abstract Duration add(Duration rhs)
값이 this+rhs
인 새로운 듀레이션을 계산합니다.
다음에 예를 나타냅니다.
"1 일" + "-3 일" = "-2 일" "1 년" + "1 일" = "1 년과 1 일" "-(1 시간, 50 분 )" + "-20 분" = "-(1 시간, 70 분 )" "15 시간" + "-3 일" = "-(2 일, 9 시간)" "1 년" + "-1 일" = IllegalStateException
의미상 1 개월부터 1 일을 감산할 수 없기 때문에,IllegalStateException
로 연산이 실패하는 경우가 있습니다.
형식상, 다음과 같이 계산됩니다.
우선, 가산하는 2 개의 Duration
는, 범용성을 잃지 않고 ,함께 정이다고 하는 (즉,(-X) +Y=Y-X
,X+(-Y) =X-Y
,(-X)+(-Y)=-(X+Y)
).
Addition of two positive Duration
s are simply defined as field by field addition where missing fields are treated as 0.
결과의 Duration
의 필드는, 2 개의 입력 Duration
의 각 필드가 설정되어 있지 않은 경우에게만, 설정되지 않습니다.
lhs.add(rhs)
는 lhs.signum() *rhs.signum()! =-1
또는 그러한 양쪽 모두 정규화되고 있는 경우, 항상 성공합니다.
rhs
- 이 Duration
에 추가하는 Duration
NullPointerException
- rhs 파라미터가 null 의 경우
IllegalStateException
- 2 개의 듀레이션을 의미상 추가할 수 없는 경우. 예를 들어,
부의 1 일을 1 개월에 추가하면(자), 이 예외가
생성되는subtract(Duration)
public abstract void addTo(Calendar calendar)
Calendar
객체에 추가합니다.
YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS, 및 MILLISECONDS 필드가 존재하는 경우, 이 차례로,Calendar.add(int, int)
를 호출합니다. Calendar
클래스에서는 int 를 사용해 값을 보관 유지하기 위해(때문에), 이 메소드가 정상적으로 기능하지 않는 것이 있습니다 (예를 들어, 필드의 값이 int 의 범위를 넘는 경우).
게다가 이 Duration 클래스는 그레고리오듀레이션이기 (위해)때문에, 지정된 Calendar
객체가 다른 달력 시스템에 근거하는 경우, 이 메소드는 올바르게 기능하지 않습니다.
이 Duration
객체의 밀리 세컨드를 넘는 소수부는 단지 무시됩니다. 예를 들어, 이 듀레이션이 P1. 23456S 의 경우, SECONDS 에 1 이 추가되어 MILLISECONDS 에 234 가 추가되어, 나머지의 부분은 사용되지 않습니다.
Calendar.add(int, int)
에서는 int
를 사용하고 있기 (위해)때문에, Duration
의 필드의 값이 int
의 범위를 넘는 경우에, 지정한 Calendar
의 오버플로우나 언더 플로우(underflow)가 발생합니다. XMLGregorianCalendar.add(Duration)
에서는, 오버플로우나 언더 플로우(underflow)의 문제를 회피하면서, 이 메소드와 같은 기본 연산을 실행할 수 있습니다.
calendar
- 치를 변경하는 Calender 객체
NullPointerException
- calendar 파라미터가 null 의 경우public void addTo(Date date)
Date
객체에 추가합니다.
지정한 일자가 우선 GregorianCalendar
에 변환되어 다음에,addTo(Calendar)
메소드와 완전히 똑같이, 듀레이션이 추가됩니다.
갱신된 시점이 다시 Date
객체에 변환되어, 지정한 Date
객체의 갱신에 사용됩니다.
이것에는, 달과 해의 듀레이션을 정확하게 판단하기 위해서(때문에), 얼마인가의 중복 한 계산이 필요하게 됩니다.
date
- 치를 변경하는 Date 객체
NullPointerException
- date 파라미터가 null 의 경우public Duration subtract(Duration rhs)
값이 this-rhs
인 새로운 듀레이션을 계산합니다.
다음에 예를 나타냅니다.
"1 일" - "-3 일" = "4 일" "1 년" - "1 일" = IllegalStateException "-(1 시간, 50 분 )" - "-20 분" = "-(1 시간, 30 분 )" "15 시간" - "-3 일" = "3 일과 15 시간" "1 년" - "-1 일" = "1 년과 1 일"
의미상 1 개월부터 1 일을 감산할 수 없기 때문에,IllegalStateException
로 연산이 실패하는 경우가 있습니다.
형식상, 계산은 다음과 같이 정의됩니다. 우선, 가산하는 2 개의 Duration
는, 범용성을 잃지 않고 ,함께 정이다고 하는 (즉,(-X) -Y=-(X+Y)
,X-(-Y) =X+Y
,(-X)-(-Y)=-(X-Y)
).
다음에 2 개의 듀레이션이 필드 마다 감산됩니다. 0 이외의 필드 F
의 기호가 최상정도 필드의 기호와 다른 경우, 1 (F
가 부의 경우) 또는 -1 (그 이외의 경우)이 F
의 근처의 상위의 단위로부터 빌릴 수 있습니다.
이 프로세스는, 0 이외의 모든 필드의 기호가 같게 될 때까지 반복해집니다.
날 필드에서 빌린 것이 발생하는 경우 (즉, 날을 보정하기 위해서 1 개월 또는 -1 개월을 빌릴 필요가 있는 경우),IllegalStateException
가 throw 되어 계산이 실패합니다.
rhs
- 이 Duration
로부터 감산하는 Duration
Duration
로부터 rhs
를 감산해 작성되는 새로운 Duration
IllegalStateException
- 2 개의 듀레이션을 의미상 감산할 수 없는 경우. 예를 들어,
예를 들어, 1 개월부터 1 일을 감산하면(자), 이 예외가
생성된다
NullPointerException
- rhs 파라미터가 null 의 경우add(Duration)
public Duration multiply(int factor)
값이 이 듀레이션의 값보다 factor
배 긴 새로운 듀레이션을 계산합니다.
이 메소드는 편의상 제공되고 있습니다. 기능적으로 다음의 코드와 같습니다.
multiply(new BigDecimal(String.valueOf(factor)))
factor
- 작성하는 새로운 Duration
의 길게 하는 계수
Duration
보다 factor
배 긴 새로운 Duration
multiply(BigDecimal)
public abstract Duration multiply(BigDecimal factor)
factor
배 긴 새로운 듀레이션을 계산합니다.
다음에 예를 나타냅니다.
"P1M" (1 개월) * "12" = "P12M" (12 개월) "PT1M" (1 분 ) * "0.3" = "PT18S" (18 초) "P1M" (1 개월) * "1.5" = IllegalStateException
Duration
클래스는 불변인 모아 두어 이 메소드는, 이 객체의 값을 변경하지 않습니다. 새로운 Duration 객체를 계산해, 그것을 돌려줄 뿐입니다.
연산은 BigDecimal
의 정밀도로, 필드 마다 실행됩니다. 초를 제외한 모든 필드는 정수만을 보관 유지하도록(듯이) 제한되고 있기 (위해)때문에, 계산에 의해 생성된 소수는 모두 하위의 단위로 늦출 수 있습니다. 예를 들어, P1D (1 일)에 0.5 를 걸면(자), 0.5 일이 됩니다만, 이것은 PT12H (12 시간)로 늦출 수 있습니다. 달의 소수부를 의미상, 날로 늦추고 할 수 없는 경우, 또는 해를 달로 늦추고 할 수 없는 경우,IllegalStateException
가 throw 됩니다. 예를 들어, 1 개월에 0.5 를 걸었을 경우 등입니다.
IllegalStateException
를 피하기 (위해)때문에,normalizeWith(Calendar)
메소드를 사용해, 해 및 달필드를 삭제합니다.
factor
- 걸치는 수
Duration
객체를 돌려준다
IllegalStateException
- 월 필드의 연산으로
소수가 생성되었을 경우
NullPointerException
- factor
파라미터가
null
의 경우public abstract Duration negate()
-this
인 새로운 Duration
객체를 돌려줍니다.
Duration
클래스는 불변인 모아 두어 이 메소드는, 이 객체의 값을 변경하지 않습니다. 새로운 Duration 객체를 계산해, 그것을 돌려줄 뿐입니다.
Duration
객체를 돌려준다public abstract Duration normalizeWith(Calendar startTimeInstant)
특정의 시점을 참조점으로서 사용해, 해 및 달필드를 날 필드로 변환합니다.
예를 들어, 개시시각인스턴스를 「July 8th 2003, 17:40:32」(으)로서, 1 개월의 듀레이션을 31 일에 정규화합니다.
형식상, 다음과 같이 계산됩니다.
Calendar.add(int, int)
메소드를 사용해, 년, 월, 일필드가 Calendar
객체에 추가된다Calendar 클래스에서는 int
를 사용해, 해 및 달의 값을 보관 유지하기 위해(때문에), Duration 객체의 해 또는 달필드에 현저하고 큰 값을 보관 유지하는 경우에, 이 메소드는 예상하지 않는 결과를 생성하는 일이 있습니다.
startTimeInstant
- Calendar
참조점
Duration
의 해 및 달의, 날로서의 Duration
NullPointerException
- startTimeInstant 파라미터가 null 의 경우public abstract int compare(Duration duration)
이 Duration
인스턴스와 부분 순서 릴레이션을 비교합니다.
비교 결과는 「W3C XML Schema 1.0 Part 2」의 섹션 3.2. 7.6. 2 「Order relation on duration」 에 따를 필요가 있습니다.
반환값:
Duration
가 Duration
파라미터보다 짧은 경우는 DatatypeConstants.LESSER
Duration
가 Duration
파라미터와 동일한 경우는 DatatypeConstants.EQUAL
Duration
가 Duration
파라미터보다 긴 경우는 DatatypeConstants.GREATER
DatatypeConstants.INDETERMINATE
duration
- 비교하는 듀레이션
this
Duration
와
DatatypeConstants.LESSER
,DatatypeConstants.EQUAL
,DatatypeConstants.GREATER
또는 DatatypeConstants.INDETERMINATE
(으)로서의 duration
파라미터의 관계
UnsupportedOperationException
- W3C XML Schema 가 큰, 작은, 혹은
정확한 값을 임의에 허가하는 등, 구현이 요구를 적절히 처리할 수 없는 경우는,
요구가 구현 능력을 넘고 있다
가능성이 있다
NullPointerException
- duration
가 null
의 경우isShorterThan(Duration)
,
isLongerThan(Duration)
public boolean isLongerThan(Duration duration)
이 Duration 객체가 다른 Duration
객체보다 확실히 긴지 어떤지를 체크합니다.
XML Schema 1.0 스펙의 섹션 3.2. 6.2 에 정의되고 있도록(듯이) X>Y 의 경우에게만 Duration X 는 Y 보다 「길고」집니다.
예를 들어, P1D (1 일) > PT12H (12 시간), 및 P2Y (2 년) > P23M (23 개월)가 됩니다.
duration
- 이 Duration
에 비추어 판정하는 Duration
UnsupportedOperationException
- W3C XML Schema 가 큰, 작은, 혹은
정확한 값을 임의에 허가하는 등, 구현이 요구를 적절히 처리할 수 없는 경우는,
요구가 구현 능력을 넘고 있다
가능성이 있다
NullPointerException
- duration
가 null 의 경우isShorterThan(Duration)
,
compare(Duration duration)
public boolean isShorterThan(Duration duration)
이 Duration 객체가 다른 Duration
객체보다 확실히 짧은지 어떤지를 체크합니다.
duration
- 이 Duration
에 비추어 판정하는 Duration
Duration
파라미터가 이 Duration
보다 짧은 경우는 true
,
그렇지 않은 경우는 false
UnsupportedOperationException
- W3C XML Schema 가 큰, 작은, 혹은
정확한 값을 임의에 허가하는 등, 구현이 요구를 적절히 처리할 수 없는 경우는,
요구가 구현 능력을 넘고 있다
가능성이 있다
NullPointerException
- duration
가 null 의 경우isLongerThan(Duration duration)
,
compare(Duration duration)
public boolean equals(Object duration)
이 Duration 객체가 다른 Duration
객체와 동일한지 어떤지를 체크합니다.
예를 들어, P1D (1 일)는 PT24H (24 시간)와 같습니다.
t+X 와 t+Y 의 시점이 XML Schema 1.0 스펙의 섹션 3.2. 6.2 로 지정된 모든 테스트 시점과 같은 경우에게만, Duration X 는 Y 와 같게 됩니다.
예를 들어, 1 개월과 30 일 등, 2 개의 Duration
가 「비교 불가능」인 경우가 있습니다. 다음에 예를 나타냅니다.
! new Duration("P1M"). isShorterThan(new Duration("P30D")) ! new Duration("P1M"). isLongerThan(new Duration("P30D")) ! new Duration("P1M"). equals(new Duration("P30D"))
Object
내의 equals
duration
- 이 Duration
라고 비교되는 객체
duration
와
같은 길이의 경우는 true
.
duration
가 null
,
Duration
객체가 아닌,
또는 이 듀레이션과 길이가
다른 경우는 false
UnsupportedOperationException
- W3C XML Schema 가 큰, 작은, 혹은
정확한 값을 임의에 허가하는 등, 구현이 요구를 적절히 처리할 수 없는 경우는,
요구가 구현 능력을 넘고 있다
가능성이 있는compare(Duration duration)
public abstract int hashCode()
Object
내의 hashCode
Object.hashCode()
public String toString()
이 Duration
Object
의 String
표현을 돌려줍니다.
결과는, XML Schema 1.0 스펙에 따라 포맷 되고 있어 나중에 언제라도 DatatypeFactory.newDuration(String lexicalRepresentation)
에 의해, 대응하는 Duration
Object
에 해석할 수 있습니다.
형식상, 이하는 임의의 Duration
Object
x 를 보관 유지합니다.
new Duration(x.toString()). equals(x)
Object
내의 toString
Duration
의 null
이외의 유효한 String
표현
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.