小编Las*_*ifa的帖子

java和python相当于php的foreach($ array as $ key => $ value)

在php中,可以使用关联数组处理状态名称列表及其缩写,如下所示:

<?php
    $stateArray = array(
        "ALABAMA"=>"AL",
        "ALASKA"=>"AK",
        // etc...
        "WYOMING"=>"WY"
    );

    foreach ($stateArray as $stateName => $stateAbbreviation){
        print "The abbreviation for $stateName is $stateAbbreviation.\n\n";
    }
?>
Run Code Online (Sandbox Code Playgroud)

输出(保留密钥顺序):

The abbreviation for ALABAMA is AL.

The abbreviation for ALASKA is AK.

The abbreviation for WYOMING is WY.
Run Code Online (Sandbox Code Playgroud)

编辑:请注意,数组元素的顺序保留在php版本的输出中.使用HashMap的Java实现不保证元素的顺序.Python中的字典也不是.

这是如何在java和python中完成的?我只找到提供价值的方法,给定密钥,如python:

stateDict = {
    "ALASKA": "AK",
    "WYOMING": "WY",
}

for key in stateDict:
    value = stateDict[key]
Run Code Online (Sandbox Code Playgroud)

编辑:基于答案,这是我在python中的解决方案,

# a list of two-tuples
stateList = [
    ('ALABAMA', 'AL'),
    ('ALASKA', 'AK'),
    ('WISCONSIN', 'WI'),
    ('WYOMING', 'WY'),
] …
Run Code Online (Sandbox Code Playgroud)

php python java associative-array

15
推荐指数
2
解决办法
2万
查看次数

Apache HttpClient 4.0-beta2 httppost,如何添加一个referer?

我正在尝试将一个引用添加到Apache HttpClient(httpclient-4.0-beta2)中的http帖子.

我发现了一些示例代码.代码有效,但我想知道是否有一种更简单,更直接的方式来添加引用,而不是使用(不名称)addRequestInterceptor,它似乎将(yikes!)内部类作为参数.

有问题的代码从下面开始"//添加referer标题".我是新手,这段代码正在做一些我不理解的事情.这真的是在我的http帖子中添加引用者的最简单方法吗?

谢谢你的任何指示.

// initialize request parameters
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("firstName", "John"));
formparams.add(new BasicNameValuePair("lastName", "Doe"));

// set up httppost
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
HttpPost httppost = new HttpPost(submitUrl);
httppost.setEntity(entity);

// create httpclient
DefaultHttpClient httpclient = new DefaultHttpClient();

// add the referer header, is an inner class used here?
httpclient.addRequestInterceptor(new HttpRequestInterceptor()
{   
    public void process(final HttpRequest request, 
                        final HttpContext context) throws HttpException, IOException
    {
        request.addHeader("Referer", referer);
    }
});

// execute the request
HttpResponse response …
Run Code Online (Sandbox Code Playgroud)

java httpclient

14
推荐指数
1
解决办法
1万
查看次数

寻找一种用Java编写调试print语句的简单方法

编辑:我很想看看史蒂夫里德的AOP方法的反应.鼓励回答他的回答!

我是新手,在某些时候我意识到在程序执行期间知道变量的内容会很有帮助.所以我开始这样做:

编辑:修复此问题.曾经是:var +":"+ var,这是完全错误的.愚蠢的错字.

System.err.println ( "var: " + var );
Run Code Online (Sandbox Code Playgroud)

后来我才知道这是常见的做法.至少,调试器不可用或不需要的地方.

我使用基本的文本编辑器,每次需要调试变量时键入print语句都很烦人,所以我想,为什么不是这样的:

void dbug ( Object obj )
{
    String variableName = obj.somehowGetVariableName();
    String variableContents = obj.toString();
    System.out.println ( variableName +": " + variableContents );
}
Run Code Online (Sandbox Code Playgroud)

但显然得到变量名称说起来容易做起来难.

Java的反射如何对获得最名称对的一变量

我坚持:

System.err.println ( "var: " + var );
Run Code Online (Sandbox Code Playgroud)

或者有一个流行的速记版本?

java debugging

9
推荐指数
3
解决办法
3万
查看次数

正则表达式用"fubar"取代"foo-some white space-bar"

我是正则表达式的新手,我很难看似简单的案例.

我需要将"foo bar"替换为"fubar",其中foo和bar之间有任何数量和种类的空白区域.

为了它的价值,我正在使用php的eregi_replace()来实现这一目标.

在此先感谢您的帮助.

php regex

2
推荐指数
1
解决办法
795
查看次数

标签 统计

java ×3

php ×2

associative-array ×1

debugging ×1

httpclient ×1

python ×1

regex ×1