Java에서 int에서 Long으로 변환하려면 어떻게 해야 하나요?
여기와 구글 사람들 둘 다 계속 찾고 있어요.long
로.int
그 반대도 아니구요.하지만 이 시나리오를 접한 사람은 저뿐만이 아닐 겁니다int
로.Long
.
제가 찾은 유일한 대답은 "처음에는 길게 설정해 주세요"였습니다.이 답변은 이 질문에는 전혀 해당되지 않습니다.
처음에는 캐스팅을 시도했지만, '그녀'를 얻었어요.Cannot cast from int to Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
내가 좀 당황스럽다는 걸 짐작할 수갑을 채워서int
어떤 컨텐츠가 들어오고 있기 때문에ArrayList
이 정보를 저장하는 엔티티에는 시퀀스 번호가 Long이어야 합니다.
캐스트와 캐스트 사이에는 차이가 있습니다.long
에 대한 캐스팅Long
에 캐스팅을 하면long
(기본값) 그러면 자동으로 박스화 됩니다.Long
(랩하는 참조 타입).
다른 방법으로 사용할 수 있습니다.new
예를 들다Long
를 사용하여 초기화하고 있습니다.int
가치.
다음 명령을 사용합니다.
int를 Integer로 이미 입력한 경우 다음을 수행할 수 있습니다.
Integer y = 1;
long x = y.longValue();
사용하다
new Long(your_integer);
또는
Long.valueOf(your_integer);
1,new Long(intValue);
2,Long.valueOf(intValue);
어때.
int myInt = 88;
// 컴파일되지 않음
Long myLong = myInt;
// NULL이 아닌 int의 정신을 컴파일하여 유지합니다.최고의 캐스팅은 전혀 캐스팅이 아니다.물론 사용 사례에는 길고 가능한 NULL 값이 필요할 수 있습니다.단, int 또는 기타 longs만 입력하고 메서드를 변경할 수 있다면 이 방법을 권장합니다.
long myLong = myInt;
// 컴파일, 가장 효율적인 방법이며 소스 값이 NULL이며 앞으로도 NULL이 되지 않음을 명확히 합니다.
Long myLong = (long) myInt;
이 작은 장난감은 범용 인터페이스가 아닌 인터페이스에도 대응하고 있습니다.피드가 잘못되면 ClassCastException을 느려도 상관없습니다(OK and happy).
public class TypeUtil {
public static long castToLong(Object o) {
Number n = (Number) o;
return n.longValue();
}
}
Java에서는 다음을 수행할 수 있습니다.
int myInt=4;
Long myLong= new Long(myInt);
당신의 경우는 다음과 같습니다.
content.setSequence(new Long(i));
우리는 다음을 사용하여 장기적인 가치를 얻을 것이다.Number
언급.
public static long toLong(Number number){
return number.longValue();
}
모든 번호 타입에 대응합니다.다음은 테스트입니다.
public static void testToLong() throws Exception {
assertEquals(0l, toLong(0)); // an int
assertEquals(0l, toLong((short)0)); // a short
assertEquals(0l, toLong(0l)); // a long
assertEquals(0l, toLong((long) 0)); // another long
assertEquals(0l, toLong(0.0f)); // a float
assertEquals(0l, toLong(0.0)); // a double
}
나는 이것 때문에 많은 어려움을 겪었다.그냥 하고 싶었어:
thisBill.IntervalCount = jPaidCountSpinner.getValue();
여기서 IntervalCount는 Long이고 JSpinner는 Long을 반환하도록 설정되어 있습니다.결국 이 함수를 작성해야 했습니다.
public static final Long getLong(Object obj) throws IllegalArgumentException {
Long rv;
if((obj.getClass() == Integer.class) || (obj.getClass() == Long.class) || (obj.getClass() == Double.class)) {
rv = Long.parseLong(obj.toString());
}
else if((obj.getClass() == int.class) || (obj.getClass() == long.class) || (obj.getClass() == double.class)) {
rv = (Long) obj;
}
else if(obj.getClass() == String.class) {
rv = Long.parseLong(obj.toString());
}
else {
throw new IllegalArgumentException("getLong: type " + obj.getClass() + " = \"" + obj.toString() + "\" unaccounted for");
}
return rv;
}
효과가 있는 것 같아요간단한 캐스팅도 없고, 위의 어떤 해결책도 제게는 효과가 없었습니다.너무 답답해요.
//Suppose you have int and you wan to convert it to Long
int i=78;
//convert to Long
Long l=Long.valueOf(i)
Android Studio에서 권장되는 보풀 체크 : 불필요한 상자 제거 :따라서 언박스는 다음과 같습니다.
public static long integerToLong (int minute ){
int delay = minute*1000;
long diff = (long) delay;
return diff ;
}
Long.valueOf(long)
、 、 from from , , , int
로로 합니다.long
.Long.valueOf(intValue)
.
보다 명확한 방법은
Integer.valueOf(intValue).longValue()
여기에 제시된 다른 방법 외에 아래 코드도 시도해 볼 수 있습니다.
(long)intValue
원시에서 원시까지
언급URL : https://stackoverflow.com/questions/1302605/how-do-i-convert-from-int-to-long-in-java
'programing' 카테고리의 다른 글
유닛 테스트 작성 방법 (0) | 2022.08.16 |
---|---|
char *(char 배열)의 실제 길이와 전체 길이를 얻는 방법 (0) | 2022.08.16 |
구문 오류:Browserify에서 예기치 않은 토큰... (82:8) (0) | 2022.08.12 |
등록된 모듈의 vuex 알 수 없는 변환 유형 (0) | 2022.08.12 |
JPanel에 이미지를 추가하는 방법 (0) | 2022.08.12 |