Java de>clone()方法(使用深度克隆-原型设计模式) 公共类秩序{ 私有列表项=新的ArrayList(); 公共秩序克隆(){ 订单newOrder=新订单(); 对于(项目原始名称项:this.items){ Item newItem=新项(); newItem.setPrice(originalItem.getPrice()); newOrder.items.add(newItem); } 返回新订单; }
现在应该很清楚,如何使用foreach, 希望它对Java中的示例Java de>clone()方法(使用深度克隆-原型设计模式) 公共类秩序{ 私有列表项=新的ArrayList(); 公共秩序克隆(){ 订单newOrder=新订单(); 对于(项目原始名称项:this.items){ Item newItem=新项(); newItem.setPrice(originalItem.getPrice()); newOrder.items.add(newItem); } 返回新订单; },java,php,Java,Php,现在应该很清楚,如何使用foreach, 希望它对Java中的示例foreach()(与示例一样)clone()方法(使用深度克隆-原型设计模式)有所帮助 公共类秩序{ 私有列表项=新的ArrayList(); 公共秩序克隆(){ 订单newOrder=新订单(); 对于(项目原始名称项:this.items){ Item newItem=新项(); newItem.setPrice(originalItem.getPrice()); newOrder.items.add(newItem); }
foreach()
(与示例一样)clone()
方法(使用深度克隆-原型设计模式)有所帮助
公共类秩序{
私有列表项=新的ArrayList();
公共秩序克隆(){
订单newOrder=新订单();
对于(项目原始名称项:this.items){
Item newItem=新项();
newItem.setPrice(originalItem.getPrice());
newOrder.items.add(newItem);
}
返回新订单;
}
现在应该很清楚,如何使用foreach,
希望它能有所帮助这与Zend Framework有什么关系?这与Zend Framework有什么关系?谢谢,第二种方法我有1)$string='A realm=“1234”,B=“343434DF323423423”,C=“300.00”,D=“loopback”;;2)它会进行方法解析('realm=“1234”…);3)然后我有数组来获得$result['realm']4)它有1234个值,然后我用它来生成最后一个字符串。您好,您可以再次拆分它,然后循环遍历每个键和值。然后拆分键和值并将它们添加到映射中。您只需删除“'s from the value.这可能是一个低效的方法,可能尝试使用正则表达式以较少的实际代码将其过滤掉。谢谢,我更新了上面的第二个方法,请看一看,您在java中是如何做到这一点的?谢谢,第二个方法我有1)$string='a realm=“1234”,B=“343434DF323423423”,C=“300.00”,D=“loopback”;2)它转到方法解析('realm=“1234”…);3)然后我有一个数组来获得一个值,比如$result['realm']4)它有1234个值,然后我用它来生成一个最后的字符串。嗨,你可以再次拆分它,然后循环遍历每个键和值。然后拆分键和值,并将它们添加到一个映射中。你只需要删除“”的值。这可能是一个低效的方法,可能尝试使用正则表达式以较少的实际代码将其过滤掉。谢谢,我更新了上面的第二个方法,请看一看,您在java中是如何做到这一点的?foreach for list与数组
for(ClassOfItem item:NameOfList){item.method();}
foreach($key=>$value的数组)和for(Object obj:array)到底有什么相同之处?它们的编写方式不同。我指的是Java中的数组的foreach和Java中的列表的foreach-您只写过数组,列表的实现看起来是相同的:)和foreach($key=>$value的数组)
类似于Java:Map
中的foreach for list与数组的外观相同for(ClassOfItem item:NameOfList){item.method();}
foreach($array as$key=>$value)和for(Object obj:array)到底有什么相同之处。它们的编写方式不同。我指的是Java中数组的foreach和Java中列表的foreach-您只提到了数组,列表的实现看起来是一样的:)和foreach($key=>$value的数组)
类似于Java中的Map
)
1. PHP:
/**
* @return: Array
*/
public function parse($digest)
{
$array = array();
$parts = explode(", ", $digest);
foreach ($parts as $x)
{
$bits = explode("=", $x);
$data[$bits[0]] = str_replace('"','', $bits[1]);
}
return $array;
}
Java (updated):
private String[] parse(String digest)
{
Map<String,String> array = new HashMap<String, String>();
String[] parts = digest.split(", ");
for (String x:parts)
{
String[] bits = x.split("=");
array.put(bits[0], bits[1].replace( '"','' )); // later will apply regex
}
return array; // incompatible types
}
2. PHP:
/**
* @return: String
*/
public function response($text, $user, $pass, $httpmethod, $uri)
{
list($dummy_digest, $value) = split(' ', $text, 2);
$x = $this->parse($value);
$realm = $x['realm'];
if ($x['qop'] == 'auth')
{
...
}
$base = "{$realm}, {$x['realm']}";
//"Digest username="1", realm="1", nonce="xxxxxx", uri="abc", response="abc", qop="auth", algorithm="MD5", cnonce="", nc="1"";
return $base;
}
Java problem:
public String response(String text, String user, String pass, String httpmethod, String uri)
{
// how to do such list() like php?
return "Digest username="1", realm="1", nonce="xxxxxx", uri="abc", response="abc", qop="auth", algorithm="MD5", cnonce="", nc="1"";
}
Map<String, String> key_map = new HashMap<String, String>();
String[] parts_of_string = "var=test, var2=test2".split(", ");
for(String part : parts_of_string) {
String[] key_and_value_parts = part.split("=");
key_map.put(key_and_value_parts[0], key_and_value_parts[1]);
System.out.println(key_and_value_parts[0] + " <-> " + key_and_value_parts[1]);
}
private static Map<String, String> parse(String digest) {
String[] parts = digest.split(", ");
Map<String, String> map = new HashMap<String, String>();
for (String x : parts) {
String[] bits = x.split("=");
//Remove "'s here if you want to keep them in the string
map.put(bits[0], bits[1]);
}
return map;
}
Map<String, String> parsed_map = parse("A realm=\"1234\", B=\"3434df323423423\", C=\"300.00\", D=\"loopback\"'");
String info = parsed_map.get("B");
System.out.println(info);
public class Order {
private List<Item> items = new ArrayList<Item>();
public Order clone() {
Order newOrder = new Order();
for (Item originalItem : this.items) {
Item newItem = new Item();
newItem.setPrice(originalItem.getPrice());
newOrder.items.add(newItem);
}
return newOrder;
}