programing

Java에서 int에서 Long으로 변환하려면 어떻게 해야 하나요?

shortcode 2022. 8. 12. 22:06
반응형

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

반응형