Ja, es ist ein trivialer Code zum schreiben, aber ich frage mich immer noch, ob es einen eingebauten Ersatz gibt.Gibt es ein Java-Äquivalent zu C# 'checked' Schlüsselwort?
Hier ist der Code:
/**
* Cast x to int, throw an exception if there's loss of information
*/
public static int safeLongToInt(long x)
{
int result = (int) x;
if (result != x)
throw new RuntimeException("long doesn't fit in an int: " + x);
return result;
}
Der Code in C# wäre:
int foo;
long bar = ...;
checked
{
foo = bar;
}
+1, weil ich nie wirklich haben, bevor die 'geprüft' Schlüsselwort benötigen. Hier ist die MSDN ref incase jemand anderen interessiert ist: http://msdn.microsoft.com/en-us/library/74b4xzyw(VS.71).aspx – CodingWithSpike
Wow, gibt es eigentlich ein * Schlüsselwort * für das in C#? Ist das wirklich etwas, das du so oft tust, dass ein Keyword in Ordnung ist? –
Interessanterweise gibt es sowohl "checked" als auch "unchecked" Schlüsselwörter, und wenn keiner verwendet wird, wird der Standardwert durch die Option compile festgelegt. –