Смешайте Java 5.0 и код Java 6.0 - PullRequest
       6

Смешайте Java 5.0 и код Java 6.0

0 голосов
/ 04 февраля 2011

У меня есть один модуль, разработанный под Java 5.0

package mypack;

class MessageParser {
    public MessageParser(String s) {
    ......
    }
}

У меня есть другой модуль, разработанный под Java 6.0

import mypack;
......
String str = someString;
MessageParser parser = new MessageParser(str);
......

Но я получил ошибку "невозможно найти конструктор символов MessageParser (java.lang.String)"

Кстати: IDE, которую я использую, это intellij idea

Может кто-нибудь сказать мне, почему и как это работает?

Ответы [ 3 ]

5 голосов
/ 04 февраля 2011

Это не имеет ничего общего с Java5-6.

Возможно, у вас есть другая версия в вашем classpath.

Дважды проверьте, какой jar / файл вы используете в своем коде Java 6, и трижды проверьте, соответствует ли он тому, который вы видите в своей версии Java 5.Скорее всего, вы видите старую версию, в которой не было конструктора.

1 голос
/ 04 февраля 2011

Это не имеет ничего общего с версией Java, но с тем, как вы пытаетесь подключить свои "модули" - как они определяются?Как файлы JAR?Вы используете IDE?

Ну, во-первых, import mypack; не будет импортировать какие-либо классы в mypack.Вы должны либо перечислить класс, либо использовать подстановочный знак:

import mypack.MessageParser;

или

import mypack.*;
1 голос
/ 04 февраля 2011

Эта проблема не имеет ничего общего с Java-версией, но я думаю, что вы пытаетесь скомпилировать второй класс снова против старой версии первого класса, которая не содержит конструктор с одной строковой аргумента.

...