정수를 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
'source' 카테고리의 다른 글
| Angular 변수에서 iframe src 속성을 설정하는 방법JS (0) | 2022.11.02 |
|---|---|
| x64 Java에서 int보다 긴 이유는 무엇입니까? (0) | 2022.11.02 |
| Java 어레이의 프리미티브는 스택 또는 힙에 저장되어 있습니까? (0) | 2022.11.02 |
| URL과 일치시키는 데 적합한 정규 표현은 무엇입니까? (0) | 2022.11.02 |
| 결과가 없더라도 값 반환 (0) | 2022.11.02 |