Given a number, find the largest sibling

public class solution {
    public int largestSibling(int num) {
        char[] chars = String.valueOf(num).toCharArray();
        Arrays.sort(chars);
        long result = 0;
        for (int i = chars.length - 1; i >= 0; i --) {
            result = result * 10 + Character.getNumericValue(chars[i]);
        }
        if (result > Integer.MAX_VALUE) {
            return Integer.MAX_VALUE;
        } else {
            return (int)result;//cast long back to int!!!
        }
    }
}