Preguntas básicas de la entrevista sobre Java: expertos, vengan y ayuden a responderlas
list.add(String.valueOf(50))
Debes comprender el significado de List. Significa que los datos que agregas están controlados hasta la muerte. Para el tipo String, definitivamente no es posible agregar el tipo Integer, a menos que lo modifique y lo cambie a List list=new ArrayList(), estará bien en add