19 EKÄ°M 2009, PAZARTESÄ°
Güvenli döküm long int için
Java en aptalca yolu long int için bir döküm herhangi bir bilgi kaybetmek olmadığını doğrulamak için nedir?
Bu benim geçerli bir uygulama
public static int safeLongToInt(long l) {
int i = (int)l;
if ((long)i != l) {
throw new IllegalArgumentException(l " cannot be cast to int without changing its value.");
}
return i;
}
CEVAP
19 EKÄ°M 2009, PAZARTESÄ°
Bu kadar basit yapardım sanırım
public static int safeLongToInt(long l) {
if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
throw new IllegalArgumentException
(l " cannot be cast to int without changing its value.");
}
return (int) l;
}
Daha açık bir şekilde tekrarlanan döküm daha niyet ifade eder sanırım... ama biraz öznel.
Potansiyel ilgi not - C# sadece.
return checked ((int) l);
Bunu PaylaÅŸ:
Güvenli karma ve PHP şifreler için tuz...
Git bir şube birleştirmek için en iyi ...
Ayrıca güvenli bir web hizmetine erişi...
Ne tür-güvenli numaralama çeşitleri mo...
Neden bir dize ile gidiş-dönüş dönüştü...