小编No3*_*o3x的帖子

Java for循环值或引用

我在我的代码中发现了一个问题.首先是代码:

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String[] blablubb = { "a", "b", "c" };

        for(String s : blablubb) {
            s = "over";
        }
        printArray(blablubb);


        for (int i = 0; i < blablubb.length; i++) {
            blablubb[i] = "over";
        }
        printArray(blablubb);

    }

    public static void printArray(String[] arr) {
        for( String s : arr ) {
            System.out.println(s);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

输出是:

a
b
c
over
over
over
Run Code Online (Sandbox Code Playgroud)

我假设第一个循环也会覆盖数组中的String.所以输出在任何情况下都会结束.它似乎创建了值的副本而不是创建引用.我从未察觉过这一点.我做错了吗?是否有选项来创建引用?

//编辑:除了我之外,似乎每个人都知道这一点.我来自C背景,并没有足够重视与C非常不同的术语参考.幸运的是,我花了10分钟来计算出来(这一次).

java for-loop reference

9
推荐指数
2
解决办法
7007
查看次数

onAttach()从未在DialogFragment中调用过

我尝试从a实现回调DialogFragment.有一个很好的例子,但他们不会DialogFragment从一个开放Fragment. http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents

所以这是我的代码:

public class EditDateDialogFragment extends DialogFragment {
    // Use this instance of the interface to deliver action events
    EditDateDialogListener mListener;

    /* The activity that creates an instance of this dialog fragment must
     * implement this interface in order to receive event callbacks.
     * Each method passes the DialogFragment in case the host needs to query it. */
    public interface EditDateDialogListener {
        public void onDialogPositiveClick(DialogFragment dialog);
        public void onDialogNegativeClick(DialogFragment dialog);
    }


    public static …
Run Code Online (Sandbox Code Playgroud)

android callback android-fragments android-dialog android-dialogfragment

5
推荐指数
2
解决办法
6107
查看次数

复制所有文件但在 .gitignore 中被忽略

我想将所有文件复制到另一个目录(使用 grunt-contrib-copy),除了 .gitignore 中列出的文件。这是我当前的设置:.gitignore:

/vendor
/node_modules
Run Code Online (Sandbox Code Playgroud)

包.json:

{
  "name": "grunt-cpy",
  "version": "1.0.0",
  "description": "",
  "main": "Gruntfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "gitignore-globs": "^0.1.1",
    "grunt": "^0.4.5",
    "grunt-cli": "~0.1.11",
    "grunt-contrib-copy": "^0.7.0",
    "grunt-contrib-clean": "^0.6.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

Gruntfile.js

module.exports = function (grunt) {

    var parse = require('gitignore-globs');
    var globs = parse('.gitignore', { negate: true } );
    grunt.log.ok( globs );

    // Project configuration.
    grunt.initConfig({
        pkg     : grunt.file.readJSON( 'package.json' ),
        clean: {
            pre_build: …
Run Code Online (Sandbox Code Playgroud)

javascript build-automation build gruntjs

5
推荐指数
0
解决办法
999
查看次数