小编rza*_*eff的帖子

kotlin中普通类和数据类之间有什么区别

我试图在Kotlin Koans解决任务#6(DataClass).当我在代码中使用普通类时,测试用例失败了.

这是我的数据类代码:

data class Person(val name: String, val age: Int)

fun task6(): List<Person> {
    return listOf(Person("Alice", 29), Person("Bob", 31))
}
Run Code Online (Sandbox Code Playgroud)

这是数据类的结果:

[Person(name=Alice, age=29), Person(name=Bob, age=31)]
Run Code Online (Sandbox Code Playgroud)

这是我正常类的代码:

class Person(val name: String, val age: Int)

fun task6(): List<Person> {
    return listOf(Person("Alice", 29), Person("Bob", 31))
}
Run Code Online (Sandbox Code Playgroud)

这是正常类的结果:

[i_introduction._6_Data_Classes.Person@4f47d241, i_introduction._6_Data_Classes.Person@4c3e4790]
Run Code Online (Sandbox Code Playgroud)

这是否意味着Kotlin中的普通类和数据类之间存在差异.如果是,那是什么?

更新:

谢谢@Mallow,你是对的.这样可行:

class Person(val name: String, val age: Int) {
    override fun toString(): String {
        return "Person(name=$name, age=$age)"
    }
}

fun task6(): List<Person> {
    return listOf(Person("Alice", 29), Person("Bob", 31)) …
Run Code Online (Sandbox Code Playgroud)

kotlin

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

在FXML Controller类中找不到可注入字段

这是关于JavaFX的.当我想在Scene Builder中注入fx:id时,我收到此警告:
在FXML Controller类中找不到id为'something'的可注入字段.
我想忽略它,并创建了一个函数,但它也没有用.我创建了mainController类并将其添加到我的FXML文件中.这是我的代码...

mainController.java

package main;

import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.Slider;

public class mainController implements Initializable {

    @Override
    public void initialize(URL arg0, ResourceBundle arg1) {
        // TODO Auto-generated method stub
    }

    @FXML
    private ProgressBar pb;
    @FXML
    private Slider sl;
        @FXML
        private Label label;

    public void changed(ActionEvent event){

        }
}
Run Code Online (Sandbox Code Playgroud)


Main.java

package main;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import …
Run Code Online (Sandbox Code Playgroud)

java javafx fxml scenebuilder

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

归一化VS. numpy方式规范化?

我应该规范化一个数组.我读过有关规范化的内容并遇到一个公式:

在此输入图像描述

我为它写了以下函数:

def normalize_list(list):
    max_value = max(list)
    min_value = min(list)
    for i in range(0, len(list)):
        list[i] = (list[i] - min_value) / (max_value - min_value)
Run Code Online (Sandbox Code Playgroud)

这应该规范化元素数组.

然后我遇到了这个:https://stackoverflow.com/a/21031303/6209399 这说你可以通过简单地执行以下操作来规范化数组:

def normalize_list_numpy(list):
    normalized_list = list / np.linalg.norm(list)
    return normalized_list
Run Code Online (Sandbox Code Playgroud)

如果我test_array = [1, 2, 3, 4, 5, 6, 7, 8, 9]用我自己的函数和numpy方法规范化这个测试数组,我得到这些答案:

My own function: [0.0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0]
The numpy way: [0.059234887775909233, 0.11846977555181847, 0.17770466332772769, 0.23693955110363693, 0.29617443887954614, 0.35540932665545538, 0.41464421443136462, 0.47387910220727386, 0.5331139899831830
Run Code Online (Sandbox Code Playgroud)

为什么函数给出不同的答案?还有其他方法来规范化数据数组吗?怎么numpy.linalg.norm(list)办?我有什么问题?

python numpy normalization

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

标签 统计

fxml ×1

java ×1

javafx ×1

kotlin ×1

normalization ×1

numpy ×1

python ×1

scenebuilder ×1