public class CompileTest{
public static void main(String args[]){
Class.forName("string");
System.out.println("Inside main");
OutputStream o=new ByteArrayOutputStream();
}
}
Это мой код, когда я компилирую это тоНеожиданный результат в Java
C:\Users\MOHD RASHID\Documents\java>javac CompileTest.java
CompileTest.java:8: error: incompatible types: ByteArrayOutputStream cannot be converted to OutputStream
OutputStream o=new ByteArrayOutputStream();
генерируется, но не должны быть сгенерированы и forName() метод броска ClassNotFoundException который компилировать исключение времени и, следовательно, должны быть пойманы или обрабатывать, но эта ошибка также не сгенерирована? скажите, пожалуйста, что мне делать?
Для вашей второй части вопроса (относительно OutputStream) вы импортируете соответствующие классы? Вы компилируете и выполняете компиляцию и отлично выполняете, если я завершаю вызов 'Class.forName' в try/catch. –
Я не могу воспроизвести вашу проблему. Возможно, вы создали собственный класс 'OutputStream' или' ByteArrayOutputStream'? Также этот код не будет компилироваться по другой причине: вы не обрабатываете исключения, которые могут быть выбраны из класса Class.forName. – Pshemo
Какие пакеты вы импортируете? По сообщению об ошибке, похоже, что вы где-то определили OutputStream или ByteArrayOutputStream и не импортировали стандартные по умолчанию java –