print_r in Java?
dave
- java
Hallo!
Gibt es in Java eine ähnliche Funktion wie print_r() in PHP? Oder weiß jemand eine andere Möglichkeit, wie ich eine formatierte Matrix ausgebe?
Vielen Dank für eure Hilfe
dave
Hallo Dave,
ich hatte mal eine Verbesserte Funktion von print_r() in PHP versucht zu schreiben. Vielleicht hilft Dir der Aufbau, um in Java ein Funktion zu erstellen (bitte poste sie hier auch ;).
function eddi_r($a,$exit=0,$b="\n")
{
if(($c=gettype($a))=='array' || $c=='object')
{
settype($a,'array');
$b.=" "; $i=0; $j=0; $y=''; $z=array();
$y.=ucfirst($c).$b.'(';
foreach($a as $k=>$v)
{
$z[$i]=array($c=($b." [".$k."]"),'');
$j=(($c=strlen($c))>$j) ? $c : $j;
$z[$i][1]['type']=($c=gettype($v));
if($c=='array' || $c=='object')
if( array_key_exists($k,$a[$k]) && ($d=array_keys($a[$k]))==array_keys($a[$k][$k]) &&
array_key_exists($k,$a[$k][$k]) && $d==array_keys($a[$k][$k][$k]) &&
array_key_exists($k,$a[$k][$k][$k]) && $d==array_keys($a[$k][$k][$k][$k]) &&
array_key_exists($k,$a[$k][$k][$k][$k]) && $d==array_keys($a[$k][$k][$k][$k][$k])
)
$z[$i][1]['cont']=$v.' (*RECURSION*)';
else $z[$i][1]['cont']=eddi_r($v,0,$b.' ');
else $z[$i][1]['cont']=$v;
$i++;
}
for($k=0;$k<$i;$k++)
{
if($z[$k][1]['type']!='array' && $z[$k][1]['type']!='object')
{
$x=explode("\n",$z[$k][1]['cont']);
$c=count($x);
$v=$x[0]."\n";
for($l=1;$l<($c-1);$l++)
$v.=str_pad($x[$l],strlen(str_pad($z[$k][0],$j))+3+strlen($x[$l]),' ',0)."\n";
$v=trim($v).((array_key_exists($l,$x)) ? $x[$l] : '');
}
else $v=$z[$k][1]['cont'];
$y.=str_pad($z[$k][0],$j).' => '.$v;
}
$y.=$b.")";
}
else $y=$a;
if($exit>0) exit("$y\n");
elseif($b=="\n ") echo $y."\n";
else return($y);
}
Gruß aus Berlin!
eddi
Hallo,
Gibt es in Java eine ähnliche Funktion wie print_r() in PHP? Oder weiß jemand eine andere Möglichkeit, wie ich eine formatierte Matrix ausgebe?
Was ist eine formatierte Matrix? Was genau willst du ausgeben?
Wahrscheinlich mußt du es "von Hand" machen. Wenn du aber genauer
beschreibst, was du brauchst, können wir dir vielleicht doch eine
Methode nennen, die das von dir gewünschte Ergebnis liefert.
Gruß
Slyh
moin dave :)
Gibt es in Java eine ähnliche Funktion wie print_r() in PHP? Oder weiß jemand eine andere Möglichkeit, wie ich eine formatierte Matrix ausgebe?
So eine Funktion gibt es in Java nicht. Aber schlaue Leute haben sich schon Gedanken drum gemacht (so wie Eddi z.B.).
Dieses Blog könnte zusätzlich für dich interessant sein.
liebe Grüße aus Berlin
lina-