Display for paramaterized type

I want to write a put a display statement inside paramaterized class. Does SV support that feature? If no is there any work around?
Lets consider the following example.

class foo #(type TYPE=int) extends uvm_object;
TYPE a;
function void print_a();
// Following statement (%0d) tied to integer. What if TYPE is string??
`uvm_info(get_full_name(),$psprintf(“a = %0d”,a),UVM_LOW);
endfunction
endclass

In reply to asanket:

You can use the %p format, or display the variable with no format.

We can use $typename(a).it returns data type.you can check systemverilog LRM.