source

정수를 int로 변환하는 방법

itover 2022. 11. 2. 21:33
반응형

정수를 int로 변환하는 방법

클라이언트 측과 서버 측 간에 데이터를 전송하는 웹 어플리케이션 작업을 하고 있습니다.

JavaScript int != Java int는 이미 알고 있습니다.Java int는 null일 수 없습니다.이게 제가 직면한 문제입니다.

Java int 변수를 Integer로 변경했습니다.

public void aouEmployee(Employee employee) throws SQLException, ClassNotFoundException
{
   Integer tempID = employee.getId();
   String tname = employee.getName();
   Integer tage = employee.getAge();
   String tdept = employee.getDept();
   PreparedStatement pstmt;
   Class.forName("com.mysql.jdbc.Driver");
   String url ="jdbc:mysql://localhost:3306/general";
   java.sql.Connection con = DriverManager.getConnection(url,"root", "1234");
   System.out.println("URL: " + url);
   System.out.println("Connection: " + con);
   pstmt = (PreparedStatement) con.prepareStatement("REPLACE INTO PERSON SET ID=?, NAME=?, AGE=?, DEPT=?");
   pstmt.setInt(1, tempID);
   pstmt.setString(2, tname);
   pstmt.setInt(3, tage);
   pstmt.setString(4, tdept);
   pstmt.executeUpdate();
 }

문제는 다음과 같습니다.

pstmt.setInt(1, tempID);

pstmt.setInt(3, tage);

여기서는 정수 변수를 사용할 수 없습니다.로 시도했다.intgerObject.intValue();하지만 그것은 상황을 더 복잡하게 만든다.다른 변환 방법이나 변환 기술은 없습니까?

어떤 수정이라도 좋습니다.

다른 곳에 이미 기재된 바와 같이:

  • Java 1.5 이후에는 컴파일러에 의해 처리되므로 (거의) 아무것도 할 필요가 없습니다.
  • Java 1.4 이전 버전에서는Integer.intValue()Integer에서int로 변환합니다.

하지만 당신이 썼듯이Integernull일 수 있으므로 변환하기 전에 체크하는 것이 좋습니다.int(혹은 취득할 위험도 있습니다).NullPointerException).

pstmt.setInt(1, (tempID != null ? tempID : 0));  // Java 1.5 or later

또는

pstmt.setInt(1, (tempID != null ? tempID.intValue() : 0));  // any version, no autoboxing  

* 디폴트 0을 사용하면 아무것도 할 수 없거나 경고 표시 또는...

오토박스(샘플라인 2번째)를 사용하지 않는 것이 가장 좋기 때문에 무엇을 하고 싶은지 명확합니다.

자바5를 사용한다고 했으니setInt와 함께Integer자동 보관함으로 인해:pstmt.setInt(1, tempID)잘 될 겁니다Java의 이전 버전에서는.intValue()네 자신.

그 반대도 작용합니다...할당int에 대해서Integer자동으로 원인이 됩니다.int오토박스를 사용하다Integer.valueOf(int).

Java는 Integer를 자동으로 int로 변환하고 되돌립니다(Java 1.4를 계속 사용하는 경우는 제외).

또 다른 간단한 방법은 다음과 같습니다.

Integer i = new Integer("10");

if (i != null)
    int ip = Integer.parseInt(i.toString());

Java 5 JDK 를 사용하고 있는 경우에서도, IDE 의 컴파일러 설정을 Java 1.4 모드로 하고 있는 경우가 있습니다.그렇지 않으면 이미 오토박싱/언박싱을 언급한 다른 분들의 의견에 동의합니다.

언급URL : https://stackoverflow.com/questions/3571352/how-to-convert-integer-to-int

반응형