정수를 정수로 변환하는 방법?
클라이언트와 서버 사이에서 데이터가 전송되는 웹 응용 프로그램에서 작업 중입니다.
나는 이미 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로 변환 하는 데 사용 합니다.
그러나 당신이 쓴대로, an Integer
은 null 일 수 있으므로 변환을 시도하기 전에 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을 사용하면 아무것도하지 않거나 경고를 표시하거나 ...
저는 대부분 오토 박싱 (두 번째 샘플 라인)을 사용하지 않는 것을 선호하므로 무엇을하고 싶은지 분명합니다.
Java 5를 사용 setInt
하고 Integer
있다고 말했기 때문에 autounboxing으로 인해 사용할 수 있습니다 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 모드로 설정되어 있습니까? 그렇지 않으면 이미 autoboxing / unboxing에 대해 언급 한 다른 사람들의 의견에 동의합니다.
참고 URL : https://stackoverflow.com/questions/3571352/how-to-convert-integer-to-int
'program story' 카테고리의 다른 글
Android 알 수없는 명령 'crunch' (0) | 2020.10.30 |
---|---|
project.lock.json은 무엇입니까? (0) | 2020.10.30 |
node.js의 fs.createReadStream 대 fs.readFile의 장단점은 무엇입니까? (0) | 2020.10.30 |
재정의 된 메서드에 대한 C # 선택적 매개 변수 (0) | 2020.10.30 |
ASP.NET Core (.NET Core)와 ASP.NET Core (.NET Framework)의 차이점 (0) | 2020.10.30 |