5 ms·
Well, you could substitute that for if(Int.CanParse(s)) { i = Int.Parse(s); // OK things. } else { // Not ok
by gjulianm 14y ago
Well, you could substitute that for
if(Int.CanParse(s))
{
i = Int.Parse(s);
// OK things.
}
else
{
// Not ok.
}
but it also be weird in Java because Parse throws and exception, so you'd have to either write an empty catch block or declare the method with a throw clause, event though it actually doesn't throw anything.
- Someone 14y agoThat either is inefficient (you end up parsing each number twice) or requires the compiler to have deep knowledge of the standard library. Similarly, C# has TryGet where in Java, you need a containsKey/get combo, or have to assume your collections do not store nulls. I do think C# could do better, though. Neither C# nor Java have the equivalent of "insert ... on duplicate key ..." for collections. You now have to do: items.TryGet( key, out value); items[key] = value + 1; In C++, that would just be: items[key] += 1;
- mercurial 14y agoYou could have a method returning a nullable Integer.