When working with any kind of LoadRunner Java-based vuser type, any string that appears within the script may be parameterised. This differs significantly from all of the C-based vuser types, where only functions that are labelled as “parameterizable” may be parameterised without explicitly calling lr_eval_string().
This is a simple example of parameterisation with a Java-based script:
String message = "the quick brown fox <myParam> over the lazy dog";
Rather than trying to do something that is theoretically impossible such as overloading the String class to handle this extra functionality, the LoadRunner developers did the simplest thing that could possibly work. They added a pre-compilation step that does a simple find-and-replace, with every <Parameter> automatically replaced with “+lr.eval_string(“<Parameter>”)+”.
String message = "the quick brown fox "+lr_eval_string("<myParam>")+" over the lazy dog";
The only unintended side-effect of this is that it now makes it possible to get a stack overflow while “compiling” (see my Introduction to LoadRunner CORBA Vusers for a work-around).