Package: libgcj9-0 Version: 4.3.2-2 Severity: normal Hi, import java.net.URI; public class Test { public static void main(String arg[]) throws Exception { String a = "http://example.org/path"; String b = "http://example.org/path?q=query"; URI ua = new URI(a); URI ub = new URI(b); System.out.println( ua.equals(ub) ); } } % javac Test.java && java Test Exception in thread "main" java.lang.NullPointerException at java.net.URI.equals(URI.java:1215) at Test.main(Test.java:14) I think the problem is in these lines: else if (!opaqueThis && !opaqueObj) { boolean common = rawPath.equalsIgnoreCase(uriObj.getRawPath()) -> && ((rawQuery == null && uriObj.getRawQuery() == null) -> || rawQuery.equalsIgnoreCase(uriObj.getRawQuery())); if (rawAuthority == null && uriObj.getRawAuthority() == null) return common; In ua.rawQuery is null but ub.rawQuery is not, so the expression in the brace evaluates to false and the righthand side gets evaluated with dereferences ua.rawQuery and this causes the NullPointerException. I think you have to write something like this: && (rawQuery == uriObj.getRawQuery() || (rawQuery != null && rawQuery.equalsIgnoreCase(uriObj.getRawQuery()))); Bye, Jörg. -- System Information: Debian Release: unstable/experimental APT prefers unstable APT policy: (900, 'unstable'), (700, 'experimental') Architecture: powerpc (ppc) Kernel: Linux 2.6.28-rc7 Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to de_DE.UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libgcj9-0 depends on: ii gcj-4.3-base 4.3.2-2 The GNU Compiler Collection (gcj b ii libasound2 1.0.16-2 ALSA library ii libc6 2.7-16 GNU C Library: Shared libraries ii libgcc1 1:4.3.2-1 GCC support library ii libgcj-common 1:4.3.2-2 Java runtime library (common files ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime Versions of packages libgcj9-0 recommends: ii libgcj9-0-awt 4.3.2-2 AWT peer runtime libraries for use ii libgcj9-jar 4.3.2-2 Java runtime library for use with Versions of packages libgcj9-0 suggests: ii libgcj9-dbg 4.3.2-2 Debugging symbols for libraries pr -- no debconf information
Attachment:
signature.asc
Description: Digital signature http://en.wikipedia.org/wiki/OpenPGP