Hi ,
I am having a stramge compilation problme.
I hava implemented some objects that (as usual) override
Object.toString.
Specifically, I have an interface called FilterObject that declares
toString as a method of it.
The following fragement of code compiles normally under NT (tried sun
jdk1.1.5 and Microsft SDK 3.1):
/**
Dumps filterr information in string form.
@roseuid 3603AD400379
*/
public String toString()
{
StringBuffer buf = new StringBuffer( 100 );
buf.append( "Image Filter : Lifting Analysis Filter Bank\n" );
buf.append( "Components : \n" );
buf.append( polyphase_.toString() );
for ( int i = 0; i < filters_.length; i++ )
buf.append( filters_[i].toString() );
return buf.toString();
}
However, attempting to compile under jkd1.1.6v4a produces the following
error
LiftingAnalysisFilterBank.java:42: Reference to toString is ambiguous.
It is defined in java.lang.String toString() and java.lang.String
toString().
buf.append( filters_[i].toString() );
I figured out a workaround to compile under jdk1.1.6v4a , that is to
simply cast it to FilterObject like this
buf.append( ((FilterObject)filters_[i]).toString() );
However, shouldn't the original code compile normally (without casting)
?
Is this behavior noraml or is it a subtle bug? (I think that if it was
normal, it should appear under nt also... )
--
Dimitrios Vyzovitis -- Information Processing Laboratory
[EMAIL PROTECTED] -- Aristotle University of Thessaloniki
[EMAIL PROTECTED] -- Dept. of Electrical and Computer Engineering
http://egnatia.ee.auth.gr/~dviz
begin: vcard
fn: Dimitrios Vyzovitis
n: Vyzovitis;Dimitrios
org: AUTH
adr: 142 V. Olgas Avenue;;;Thessaloniki;;54645;Greece
email;internet: [EMAIL PROTECTED]
tel;work: ++30-31-996359
tel;home: ++30-31-817780
note: Orientation in space and time is the framework of cognition.
x-mozilla-cpt: ;0
x-mozilla-html: TRUE
version: 2.1
end: vcard