zero-pad

¿Cómo puedo rellenar un entero con ceros a la izquierda?

¿Cómo se deja un int con ceros al convertir a un String en java? Básicamente estoy buscando rellenar enteros hasta 9999 con ceros a la izquierda (por ejemplo, 1 = 0001).

¿Cómo puedo contar los dígitos en un entero sin un cast de cadena?

Me temo que hay una respuesta simple y obvia a esta pregunta. Necesito determinar cuántos dígitos de ancho es un recuento de ... ensado en usar el logaritmo común (no sabía que tal cosa existía). Así que, no es obvio-para mí-pero definitivamente simple.