Printing the power set of a given set of elements
The integer to string to integer representation of string to string conversion is very wasteful. You can just do bit shifts.

private static String getSubset(String inputSet, int mask) {
    StringBuffer subset = new StringBuffer();

    for (int i = 0; i &lt; inputSet.length(); i++) {
        // Check if ith bit is set
        if ((mask &amp; (1 &lt;&lt; i)) != 0) {
            subset.append(inputSet.charAt(i));
        }
    }

    return subset.toString();
}

public static List&lt;String&gt; permuteSet(String inputSet) {
    List&lt;String&gt; powerSet = new ArrayList&lt;String&gt;();
    int n = inputSet.length(); // size for binary
    int powerSetLength = 1 &lt;&lt; n; // you should check that n is small enough

    for (int i = 0; i &lt; powerSetLength; i++) {
        powerSet.add(getSubset(inputSet, i));
    }

    return powerSet;
}


Demo