Как насчет ...
BigInteger bi = new BigInteger(my50DigitString);
Все эти методы Xxx.valueOf () являются альтернативами конструкторам, поскольку они позволяют возвращать общие кэшированные копии. Конструкторы по определению каждый раз возвращают новый экземпляр. Так что valueOf () - хорошая оптимизация, но разработчикам, видимо, не было интересно предоставлять метод BigInteger.valueOf (String). В этом случае вам придется использовать один из конструкторов.