Solved

Servlet Error

Posted on 2002-04-30
17
260 Views
Last Modified: 2013-11-24
I have a quick question.
What is the difference between the following:
   String test = req.getParameter("Something").trim();
and
   String test = "";
   test = req.getParameter("Something").trim();

If Something is not in the querystring I get an error.
For some reason when i use the first example I get a nullpointer exception. If I use the second example it works with out a problem. I am using JRun 2.3.

Thank You in advance.
Kent
0
Comment
Question by:kmurphy7
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
  • 3
  • +4
17 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 6981593
listening...
0
 
LVL 5

Expert Comment

by:jamoville
ID: 6981652
When you run the second example and "Something" is not in the querystring (the one you indicate works ok) what is the value of test?
0
 

Author Comment

by:kmurphy7
ID: 6981663
test = ""

 If I am not mistaking there is a difference between "" and null. Is this correct.
0
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 
LVL 86

Expert Comment

by:CEHJ
ID: 6981669
You're correct
0
 
LVL 5

Expert Comment

by:jamoville
ID: 6981676
I'm not using JRun but I get a null pointer for both which is what you would expect to get.  There is a difference between "" and null. The line req.getParameter("Something") should be returning null.  When the trim() is applied to the null value returned you should get a null pointer exception.  This is what I'm seeing, but maybe JRun behaves differently.
0
 
LVL 5

Expert Comment

by:Jan Louwerens
ID: 6981733
both are wrong. You want to use:

   String test = req.getParameter("Something");
   if (test != null)
      test = test.trim();
// else
//    test = "";  // maybe you want a default value if it's not specified
0
 
LVL 5

Expert Comment

by:jamoville
ID: 6981869
jlouwere :

The code you wrote would work but why kmurphy7 is not getting a null pointer exception with the second example is the real question that should be answered.
0
 
LVL 3

Expert Comment

by:jerelw
ID: 6982034
I don't believe that the code posted is the actual sequence of events.

please post the actual block of code with the issue, and we can see when and where values are being set and if the code is in a try - catch.
0
 
LVL 18

Expert Comment

by:bobbit31
ID: 6982119
> why kmurphy7 is not getting a null pointer exception with the second
example

b/c it is not a null object... it is a String object of zero length (like an empty vector for example)
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 6982129
>>b/c it is not a null object...

It *should* be after it has been assigned null (which is the case in the second example). Otherwise the assignment has not worked.
0
 
LVL 18

Accepted Solution

by:
bobbit31 earned 50 total points
ID: 6982134
is this the second example?
  String test = "";
  test = req.getParameter("Something").trim();

if so, it is not being assigned null, it is being assigned to a zero length string
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 50 total points
ID: 6982154
Ah. It's becoming clear. Both I and bobbit31 are right:

>> it is not being assigned null, it is being assigned to a zero length string

>>Otherwise
the assignment has not worked.

The assignment never gets made, as req.getParameter("Something").trim(); throws an exception. Therefore 'test' holds its original value, i.e. a zero length string! Thanks for the prompt bobbit31
0
 
LVL 18

Expert Comment

by:bobbit31
ID: 6982158
no prob ;)
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 6982168
kmurphy7 - we've solved the mystery I think!
0
 
LVL 35

Expert Comment

by:girionis
ID: 8682739
No comment has been added lately, so it's time to clean up this TA.

I will leave a recommendation in the Cleanup topic area that this question is:

- points to bobbit31

Please leave any comments here within the
next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !

girionis
Cleanup Volunteer
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 8683207
hmmmmmmm.
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Fast way to search item into Java Array (Rhino compatible) 2 47
Tagging and Merging on Branch 1 68
jmeter usage 4 62
Which is best Image Resizing Web service 11 39
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
The viewer will learn how to implement Singleton Design Pattern in Java.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question