В моем случае я использовал mb_split
, который использует регулярное выражение. Поэтому мне также пришлось вручную убедиться, что кодировка регулярного выражения была utf-8, выполнив mb_regex_encoding('UTF-8');
. В качестве побочной заметки я также обнаружил, запустив mb_internal_encoding()
, что внутренняя кодировка не была utf-8 , и я изменил это, выполнив mb_internal_encoding("UTF-8");
.
Как исправить его
Неправильно используется ваш метод getter и setter.
getstockTicker
должен быть getStockTicker
setstockTicker
должен быть setStockTicker
Некоторая справочная информация
Свойство PropertyValueFactory остается неизменным:
new PropertyValueFactory<Stock,String>("stockTicker")
Соглашение об именах будет казаться более очевидным, если вы также добавите свойство accessor к вашему классу Stock:
public class Stock {
private SimpleStringProperty stockTicker;
public Stock(String stockTicker) {
this.stockTicker = new SimpleStringProperty(stockTicker);
}
public String getStockTicker() {
return stockTicker.get();
}
public void setStockTicker(String stockticker) {
stockTicker.set(stockticker);
}
public StringProperty stockTickerProperty() {
return stockTicker;
}
}
PropertyValueFactory использует отражение для поиска соответствующих аксессуаров. Сначала он попытается использовать accessTickerProperty аксессуар, и, если нет, то отпадает назад к геттерам и сеттерам. Рекомендуется предоставить аксессуар свойств, так как вы автоматически включите свою таблицу для наблюдения за свойством в базовой модели, динамически обновляя ее в качестве базовой модели.
поместите метод Getter и Setter в ваш класс данных для всех элементов.